chevron_left

メインカテゴリーを選択しなおす

cancel
土日の勉強ノート https://daisuke20240310.hatenablog.com

AI、機械学習、最適化、Pythonなどについて、技術的な内容や、ツールの作成/紹介を書いています。また、はてなブログのブログをカスタマイズした方法についても、詳しく書いています。

daisuke
フォロー
住所
未設定
出身
未設定
ブログ村参加

2024/05/04

arrow_drop_down
  • 書籍「詳解セキュリティコンテスト」Pwnableの仕様に起因する脆弱性を読んだ

    前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。 前回は、32章の「共有ライブラリと関数呼び出し」でした。34章の「ヒープベースエクスプロイト」は、次回に回して、今回は、35章の「仕様に起因する脆弱性」を読んでいきたいと思います。 35章の「仕様に起因する脆弱性」では、書式文字列攻撃を取り扱っています。picoCTF 2025 の Binary Exploitation で、書式文字列攻撃の問題が出たのですが、エクスプロイトコードをうまく実装できなかったので、こちらを先に読んでいきたいと思います。 それでは…

  • はてなブログ無料版開設から1年で収益化達成(祝🎉)

    本日(2025/4/2)、Googleアドセンスの収益化が確認できました!! はてなブログを無料版で開設してから、約1年で達成できました。 いつもアクセスして頂いている方には、本当に感謝です 🙇 今日は、その報告と、この1年を簡単に振り返ってみたいと思います。 この記事が、Googleアドセンスを目指してる方の参考になれば嬉しいです。

  • USBについて勉強してみる

    最近、いくつかの USB に関する本を読んだので、理解した内容についてまとめておこうと思います。 それでは、やっていきます。

  • サブ回線として、povo2.0の「通話+データ」の契約をしてみた

    今回は、povo 2.0 の「通話+データ」の契約を実際にやってみたので、その手順をまとめておきたいと思います。povo 2.0 は、月々の基本料が 0円で、今持ってるスマホとは別に、新しい電話番号を取得することが出来ます。 必要になったときに、トッピングと呼ばれるデータや通話が出来るオプションを購入することで使うことが出来ます。ただし、契約してから、180日間以内にトッピングを購入する必要があります。また、最後にトッピングを購入してから、180日間以内に再度、トッピングを購入する必要があります。 つまり、半年に 1回はトッピングを購入する必要があります。たくさんの種類のトッピングがありますが…

  • picoCTF 2025:Binary Exploitationの全6問をやってみた

    前回 から、picoCTF 2025 にリアルタイムで参戦しています。 picoCTF 2025 が 3/7 から始まっていて、昨日(3/17)に終了しました。今回は、リアルタイムで参戦できました。終了するまでは、解法や、フラグを公開することは禁止されていましたので、順番にその内容を公開していきます。 今回は、Binary Exploitation です。 それでは、やっていきます。

  • picoCTF 2025:Reverse Engineeringの全7問をやってみた

    前回 から、picoCTF 2025 にリアルタイムで参戦しています。 picoCTF 2025 が 3/7 から始まっていて、昨日(3/17)に終了しました。今回は、リアルタイムで参戦できました。終了するまでは、解法や、フラグを公開することは禁止されていましたので、順番にその内容を公開していきます。 今回は、Reverse Engineering です。 それでは、やっていきます。

  • picoCTF 2025:General Skillsの全5問をやってみた

    前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」の 33章の「共有ライブラリと関数呼び出し」を読みました。 この書籍はまだ読み続けますが、picoCTF 2025 が 3/7 から始まっていて、昨日(3/17)に終了しました。今回は、リアルタイムで参戦できました。終了するまでは、解法や、フラグを公開することは禁止されていましたので、今日からその内容を公開していきます。今回は、General Skills の全5問です。

  • Rustを始めてみる

    picoCTF 2025 の General Skills の 全5問のうち、3問が Rust を扱う問題でした。そこで、今回は、Rust の環境構築について記事にしておこうと思います。 それでは、やっていきます。

  • KVM/QEMU(virt-manager)でUbuntu24.04をインストールした

    前回 は、Ubuntu 24.04 のインストールについて書きました。今回は、KVM を入れて、Ubuntu 24.04 の上に Ubuntu 24.04 を QEMU で起動していきたいと思います。 ややこしいですね。本当は、Ubuntu のインストールされたパソコンで、Ubuntu や、ParrotOS など、いろいろな Linux を動かしたいところですが、今は、デスクトップPC として、Windows しかないので、仕方なく、VirtualBox を使って、いろいろやっているということです。 簡単に図を書きました。最近は、オンラインで Microsoft の Office が無料で使え…

  • Ubuntu24.04(VirtualBox 7.1)のインストールと初期設定

    今回は、Ubuntu 24.04 のインストールについて書いていきます。執筆時点(2025/3/1)で、Ubuntu24.04.2 LTS がリリースされていました。これを Windows10 の VirtualBox上にインストールしていきます。 それでは、やっていきます。

  • 書籍「詳解セキュリティコンテスト」Pwnableの共有ライブラリと関数呼び出しを読んだ

    前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。 前回は、32章の「スタックベースエクスプロイト」でした。今回は、33章の「共有ライブラリと関数呼び出し」を読んでいきたいと思います。 それでは、やっていきます。

  • Androidアプリ:NFCリーダーアプリを動かしてソースコードを確認する

    前回 は、久しぶりに Androidアプリ開発ということで、開発環境の構築と、簡単なアプリを作って、動かしてみました。 今回は、やりたかった NFC の読み込みをするアプリを動かしてみようと思います。良さそうな OSS を持ってきて動かしてみます。 それでは、やっていきます。

  • Androidアプリの開発環境の構築とHelloWorldアプリを作ってみる

    今回は、かなり久しぶりに Androidアプリの開発をやってみます。まずは、開発環境の構築と、簡単なアプリを作ってみたいと思います。 今回の目的は、スマホを使って、NFC のリードライトがやることです。簡単な OSS を持ってきて動かしてみたいのですが、そちらは次回に書こうと思います。 それでは、やっていきます。

  • 新NISAを楽天証券で始めるために必要な情報をまとめてみた

    1年ほど出遅れましたが、楽天証券で新NISAを始めました。YouTube を見てれば、だいたいのことは分かるのですが、楽天証券の細かいルールや、ファンドの細かい仕様をまとめておきたいと思います。 なお、ここでは、個別株や ETF などは対象とせず、投資信託のみに絞った話になっています。 それでは、やっていきます。

  • 書籍「詳解セキュリティコンテスト」Pwnableのスタックベースエクスプロイトを読んだ

    前回 は、「ゼロからマスター!Colab×Pythonでバイナリファイル解析実践ガイド (エンジニア入門シリーズ)」という書籍を、ざっくり読みました。 今回は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読んでいきたいと思います。今回は、スタックベースエクスプロイトです。 それでは、やっていきます。

  • 書籍「バイナリファイル解析 実践ガイド」を読んだ

    前回 は、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」という書籍を、引き続き読み進めていて、シェルコードの章を読みました。 今後も、「詳解セキュリティコンテスト」を、引き続き読み進めるつもりなのですが、今回は、「ゼロからマスター!Colab×Pythonでバイナリファイル解析実践ガイド (エンジニア入門シリーズ)」という書籍を入手したので、こちらをざっと読んで、概要だけでも、まとめておこうと思います。 目次を見ると、だいたいの内容は予想ができると思いますが、メインは、Python を使って、バイナリファイルを解析するということです。対象のバ…

  • 書籍「詳解セキュリティコンテスト」のPwnableのシェルコードを読んだ

    前回 から、詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ という書籍を読み進めています。前回は Reversing の全ての章を読みました。 今回から、Pwnable を読んでいきます。Pwnable は難易度が高く、何回かに分けて読んでいきたいと思います。今回は、30章の Pwnable への導入と 31章のシェルコードの内容を進めたいと思います。 それでは、やっていきます。

  • 書籍「詳解セキュリティコンテスト」のReversingを読んだ

    前回 は、セキュリティコンテストのためのCTF問題集 という書籍を読みました。 今回は、詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ という書籍を入手したので読んでいきたいと思います。この書籍は、Web、Crypto、Reversing、Pwnable の順で解説されていて、680ページを超えるボリュームがあります。最初は、hwo2heap の解説が見たくて、Pwnable から読み進めていたのですが、なかなか難しくて、先に Reversing を読むことにしました。 それでは、やっていきます。

  • 書籍「セキュリティコンテストのためのCTF問題集」を読んだ

    前回 は、picoCTF の picoCTF 2023 の Binary Exploitation をやってみました。だいぶ時間がかかりましたが、解ける問題が増えてきた気がします。 今回は、セキュリティコンテストのためのCTF問題集 という書籍を読む機会がありましたので、簡単な内容の紹介と、それぞれの問題の解説で使われていたツールの紹介と、実際にそのツールを使ってみたいと思います。 なお、この書籍は、以前の記事(セキュリティコンテストチャレンジブックの「Part2 pwn」を読んだ - 土日の勉強ノート)で読んだ セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方 …

  • picoCTF 2023:Binary Exploitationの全7問をやってみた(最後の1問は後日やります)

    前回 は、picoCTF の picoCTF 2023 の Reverse Engineering をやってみました。全7問でしたが、少し変わった問題が多かったです。 今回は、引き続き、picoCTF 2023 の Binary Exploitation をやっていきます。Medium が 4問、Hard が 3問です。難しそうです。 それでは、やっていきます。

  • picoCTF 2023:Reverse Engineeringの全9問をやってみた

    前回 は、picoCTF の picoCTF 2023 の General Skills をやってみました。全6問を全て解きました。 今回は、引き続き、picoCTF 2023 の Reverse Engineering をやっていきます。Medium が 7問、Hard が 2問です。 それでは、やっていきます。

  • picoCTF 2023:General Skillsの全6問をやってみた

    前回 は、picoCTF の picoCTF 2024 のうち、Cryptography をやってみました。全5問のうち、最後の 2問は解けませんでした。 今回から picoCTF の picoCTF 2023 をやっていきます。 最初は、General Skills の全6問をやっていきたいと思います。Easy が 1問、Medium が 5問です。 それでは、やっていきます。

  • picoCTF 2024:Cryptographyの全5問をやってみた(最後の2問は手つかず)

    前回 は、picoCTF の picoCTF 2024 のうち、Forensics をやってみました。全8問のうち、最後の 2問は解けませんでした。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Cryptography というカテゴリの全5問をやっていきたいと思います。Easy が 1問、Medium が 3問、Hard が 1問です。 それでは、やっていきます。

  • picoCTF 2024:Forensicsの全8問をやってみた(最後の2問は解けず)

    前回 は、picoCTF の picoCTF 2024 のうち、Web Exploitation をやってみました。全6問のうち、最後の 2問は解けませんでした。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Forensics というカテゴリの全8問をやっていきたいと思います。Easy が 4問、Medium が 4問です。 それでは、やっていきます。

  • picoCTF 2024:Web Exploitationの全6問をやってみた(最後の2問は解けず)

    前回 は、picoCTF の picoCTF 2024 のうち、General Skills をやってみました。全10問を全部解けました。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Web Exploitation というカテゴリの全6問をやっていきたいと思います。Medium が 1問、Hard が 1問です。 それでは、やっていきます。

  • picoCTF 2024:General Skillsの全10問をやってみた

    前回 は、picoCTF の picoCTF 2024 のうち、Reverse Engineering をやってみました。全7問のうち、Windowsプログラム の 3問は後回しにしました。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、General Skills というカテゴリの全10問をやっていきたいと思います。Medium が 2問です。 それでは、やっていきます。

  • picoCTF 2024:Reverse Engineeringの全7問をやってみた(Windowsプログラムの3問は後日やります)

    前回 は、picoCTF の picoCTF 2024 のうち、Binary Exploitation をやってみました。全10問のうち、Hard の 1問目は解けず、2問目は後回しになりました。Hard 問題は、いきなりレベルが上がった気がします。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Reverse Engineering というカテゴリの全7問をやっていきたいと思います。Medium が 7問です。 それでは、やっていきます。

  • picoCTF 2024:Binary Exploitationの全10問をやってみた(Hardの1問は後日やります)

    前回 は、picoCTF に登録して、picoGymの「Beginner picoMini 2022」の全13問をやってみました。 今回は、引き続き、picoCTF の picoCTF 2024 のうち、Binary Exploitation というカテゴリの全10問をやっていきたいと思います。Easy が 2問、Medium が 6問、Hard が 2問です。 それでは、やっていきます。

  • picoCTFを始めてみた(Beginner picoMini 2022:全13問完了)

    前回 は、サイバーセキュリティのトレーニングができるサイトを始めてみましたが、少し合わなかったかなって感じでした。 今回も、こりずに、picoCTF という CTF の学習や、コンテストを開催しているサイトがあるので、挑戦してみたいと思います。 それでは、やっていきます。 ※2024/10/3:追記 今回は、picoCTF の picoGym で、「Beginner picoMini 2022」の 全13問をやってみました。もし、これから「Beginner picoMini 2022」をやってみようと思う方にお知らせです。問題のタイトルに番号が付いてるものがあります(例:PW Crack 2)…

  • TryHackMeを始めてみたけどハードルが高かった話

    前回 は、「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の「付録」を読んで、x86 と x86-64 のシェルコードを作りました。また、setodaNote CTF Exhibition の Pwn の Shellcode問題で、作ったシェルコードを使って、フラグが取れました。 今回は、TryHackMe というサイバーセキュリティのトレーニングができるサイトがあるので、挑戦してみたいと思います。 それでは、やっていきます。

  • セキュリティコンテストチャレンジブックの「付録」を読んでx86とx64のシェルコードを作った

    前回 は、「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の「Part2 pwn」を読んで、実際に動かしてみました。だいぶ時間がかかりましたが、とても勉強になりました。 今回は、「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の付録を読んでいきます。付録は 2つあって、1つは、Part 1(1章)の「バイナリ解析」の付録で、もう 1つは、Part 2(2章)の「pwn」の付録です。今回は、この 2つの付録について見ていきます。 それでは、やっていきます。

  • セキュリティコンテストチャレンジブックの「Part2 pwn」を読んだ

    前回 から、ksnctf を開始しました。少し難しかったので、書籍などから知識を得ることも並行してやっていきます。 「セキュリティコンテストチャレンジブック CTFで学ぼう!情報を守るための戦い方」の「Part2 pwn」を読みましたが、なかなか内容が濃くて、読んだだけでは、十分に理解できませんでした。今回は、「Part2 pwn」の演習を、実際に自分で動かしていきたいと思います。 それでは、やっていきます。

  • 常設CTFのksnctfにチャレンジします(クリア状況は随時更新します)

    前回 から、setodaNote CTF Exhibition を開始しました。CTF には複数のカテゴリがありますが、リバースエンジニアリング、Pwn を優先的に取り組みたいと思っています。これらがだいたい終わったので、次は、ksnctf も並行して進めようと思います。 ksnctf も、国内の常設の CTF です。 それでは、やっていきます。

  • setodaNote CTF Exhibitionにチャレンジします(クリア状況は随時更新します)

    前回 は、実行ファイルのセキュリティ機構(脆弱性緩和技術とも言う)を調べるツールである「checksec」の理解を深めました。 今回から、setodaNote CTF Exhibition に挑戦します。前に、CpawCTF2 を始めたのですが、あまりメンテナンスされていないようで、サーバに接続できないなどがあったので、setodaNote CTF Exhibition も並行して進めようと思います。 setodaNote CTF Exhibition とは、2021年に、リアルタイムで開催された setodaNote CTF を同じ問題を常設で参加を可能にしてくれたものです。 ※2024/9…

  • 実行ファイルのセキュリティ機構を調べるツール「checksec」のまとめ

    前回 は、Pwnable問題に取り組みました。CTF のカテゴリの中でも、一番難しいと言われるだけあって、かなり苦労しました。 今回は、前回のPwnable問題でも使用した、実行ファイルのセキュリティ機構(脆弱性緩和技術とも言う)を調べるツールである「checksec」の深掘りをしたいと思います。 実行ファイルのセキュリティ機構とは、もし、実行ファイルに脆弱性が存在していたとしても、その脆弱性に対する攻撃をやりにくくする仕組みのことです。 例えば、スタックカナリヤは、関数開始時にスタックにランダムな値を格納しておき、関数終了時に、その値が変化していないかをチェックします。これによって、スタック…

  • 入門セキュリティコンテスト(CTFを解きながら学ぶ実践技術)のPwnable問題をやってみる

    前回 は、x86-64 ELF(Linux)のアセンブラを簡単なプログラムで理解しました。 本当は、先に今回の記事を書くつもりだったのですが、x86-64 ELF(Linux)のアセンブラが分からないと全然進まなかったので、前回の記事をはさみました。 今回は「入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術」で扱っている Pwnable の問題について、書籍を見ながら、実際に動かして、理解してみたいと思います。 それでは、やっていきます。

  • x86-64 ELF(Linux)のアセンブラをGDBでデバッグしながら理解する(GDBコマンド、関連ツールもまとめておく)

    前回 は、「入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術」を読んで、CTF の各ジャンルごとに使われている技術やツールについて、調べたり、実際に使ってみたりしました。 今回は、x86-64 ELF(Linux)のアセンブラを理解していきます。また、よく使う GDBコマンドや、バイナリに対してよく使うコマンド、x86-64 のよく使う命令を書きとめておこうと思います。 それでは、やっていきます。

  • RPAツールとしてよく聞くUiPath Studioで自動化を試してみた

    今回は、RPA(Robotic Process Automation)のツールでよく目にする「UiPath Studio」を使って、Windowsの自動化を試してみたいと思います。 それでは、やっていきます。

  • 入門セキュリティコンテスト(CTFを解きながら学ぶ実践技術)を読んだ

    前回 は、C言語とアセンブラでシェルを起動するプログラムを機械語に直して動かしてみました。 今回は、「入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術」を読みました。CTF の各ジャンルごとに、練習問題の解き方を丁寧に説明された本で、とてもオススメできる内容でした。単なる解法だけではなく、そこで使われている技術についても丁寧な解説がされていました。 また、この本では、CTF で、よく使われているとされるツールが、たくさん紹介されていたので、今回は、そのツールを調べたり、実際に使ってみたりしたいと思います。 それでは、やっていきます。

  • 機械語でシェルを起動するプログラムを作る(ARM64)

    前回 は、C言語とアセンブラでシェルを起動するプログラムを作ってみました。 今回は、アセンブラで作ったプログラムをExploitコードの部品となりそうな C言語からシェルを起動するプログラムを実装してみたいと思います。 それでは、やっていきます。

  • C言語、アセンブラでシェルを起動するプログラムを作る(ARM)

    前回 は、K&Rのmalloc関数とfree関数を動かして理解しました。 今回は、Exploitコードの部品となりそうな C言語からシェルを起動するプログラムを実装してみたいと思います。 それでは、やっていきます。

  • K&Rのmalloc関数とfree関数を理解する

    前回 は、CpawCTF の続きである CpawCTF2 を開始しました。 今回は、基礎力を付けるためにも、malloc関数とfree関数を理解していきます。脆弱性を見つけた後、実際の侵入に繋げるときに、malloc関数の理解が求められる場合があります(Use After Freeとか)。 実際に使われている glibc の malloc、free を読もうとしたのですが、すぐに挫折した(笑)ので、まずは、基本となる K&R の malloc関数、free関数から理解していきたいと思います。 それでは、やっていきます。

  • CpawCTF2にチャレンジします(この記事はクリア状況を随時更新します)

    前回 は、Python の Scapy を使って、ネットワークプログラミングをやってみました。 今回は、以前 やってみた CpawCTF の続きである CpawCTF2 を始めたいと思います。 それでは、やっていきます。 ※2024/8/25時点:200ポイントで、580位 / 2571人です

  • Gitサーバ、GitHub、SSHにパスワードを入力せずに接続する方法

    社内の Gitサーバや、社内の Linuxサーバ、GitHub に SSH で接続するときなど、ユーザ名とパスワードを入力しなければならないと思います。もちろん、必要に応じて、パスワードは必要だと思いますが、ローカルな Gitサーバに接続するのに、そんなに厳密に運用する必要はない場合もありますよね。 特に、Git の場合、push するたびに、ユーザ名とパスワードを入力するのは、とても面倒です。 ということで、今回は、ユーザ名とパスワードを入力しなくてもいい方法を書きます。いつも忘れてしまって、Web をウロウロしてしまうので(笑)。 一応、ここに書くことは、セキュリティ的に問題ない場合に限っ…

  • Scapyの環境構築とネットワークプログラミング

    前回 は、hashcat を使って、簡単なパスワードを解析して、hashcat の使い方を詳細に知って、GPU を使って、どれぐらいの時間でパスワードをクラックできるかを考えてみました。 今回は、Python の Scapy を使って、ネットワークプログラミングをやりたいと思います。 それでは、やっていきます。

  • hashcatの使い方とGPUで実行したときの時間を見積もってみる

    前回 は、CpawCTF で、CTF に入門しました。 今回は、以前(John the Ripperでshadowファイルのパスワードを解読してみる - 土日の勉強ノート)にやったパスワードの解読の続きをやりたいと思います。 このときは、John the Ripper というオフラインパスワード解析ツールを使ったのですが、同じようなツールとして、「hashcat」というものがあります。 今回は、hashcat を使ってみます。 それでは、やっていきます。

  • VPNライフハック・裏ワザ完全ガイド!安全でお得なVPN活用法を徹底解説!

    ※この記事には PR が含まれます セキュリティ強化以外で、どのようにVPNが活用できるのかを十分に知っている人は多くありません。 通信セキュリティ強化に役立つVPNは、ほかにもさまざまなライフハック・裏ワザ的な活用方法があります。 今回の記事では、VPNの基本的な仕組み・ライフハックとしての活用方法・有料VPNと無料VPNの違いをまとめました。 本記事を読めばVPNの活用法を理解し、より安全で快適なインターネットライフを送るためのノウハウを習得できます。 VPNを上手に活用して通信セキュリティを向上させつつ、より豊かなオンライン体験を手に入れましょう。

  • CTF初心者向けのCpawCTFをやってみた

    前回 までは、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果について、リスク高、中について、分析と対策をやってきました。 今回は、CTF(Capture The Flag)に入門してみたいと思います。 CTF とは、セキュリティにおける専門知識や技術を使って、隠されている Flag(旗、答え、文字列)を見つける競技です。競技と言っても、チュートリアル的な入門レベルから、賞金が設定される本格的な大会まであるようです。 国内で運営されている CpawCTF というサイトがあります。アカウントを作ると、日本語で、無料で、自分のペースで、CTF に挑戦できます。今回は、実際に Cpaw…

  • OWASP ZAPの自動スキャン結果の分析と対策:リスク中すべて

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回は、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果の「オープンリダイレクト」について、分析と対策までやりました。 今回は、リスク中の内容を見ていきます。 それでは、やっていきます。

  • OWASP ZAPの自動スキャン結果の分析と対策:オープンリダイレクト

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回は、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果の「SQLインジェクション」について、分析と対策までやりました。 今回は、オープンリダイレクトを見ていきます。 それでは、やっていきます。

  • OWASP ZAPの自動スキャン結果の分析と対策:SQLインジェクション

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回は、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果の「クロスサイトスクリプティング(XSS)」について、分析と対策までやりました。 今回は、SQLインジェクションを見ていきます。 それでは、やっていきます。

  • OWASP ZAPの自動スキャン結果の分析と対策:クロスサイトスクリプティング(XSS)

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回は、以前 に行った OWASP ZAP の自動脆弱性スキャンの結果の「パストラバーサル」について、分析と対策までやりました。 今回は、クロスサイトスクリプティング(XSS)を見ていきます。 それでは、やっていきます。

  • OWASP ZAPの自動スキャン結果の分析と対策:パストラバーサル

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 前回 は、セッション管理の理解と、実際になりすましを試したのと、PHP のセッションID を URL に埋め込まない対策を行いました。 今回は、前々回 に行った OWASP ZAP の自動脆弱性スキャンの結果の「パストラバーサル」について、分析と可能なら対策までやっていきたいと思います。 それでは、やっていきます。

  • 徳丸本:セッション管理を理解してセッションID漏洩で成りすましを試す

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 今回は、徳丸本の 3章の「Webセキュリティの基礎」について、実際にやっていきたいと思います。 それでは、やっていきます。

  • 徳丸本:OWASP ZAPの自動脆弱性スキャンをやってみる

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 今回は、徳丸本の 7章の「脆弱性診断入門」の OWASP ZAP の自動脆弱性スキャンについて、実際にやっていきたいと思います。 それでは、やっていきます。

  • Vue.jsのソースコードを確認する(ビルド後のソースも見てみる)

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 その上で必要な知識として、今回は、よく使われている Webアプリケーションのフレームワークである Vue.js を理解しています。 前回 は、Vue 2.x と Vue 3.x について、環境構築、プロジェクト作成、開発用サーバで動作確認、ビルド、ビルド後の生成物で動作確認まで行いました。 今回は、ファイル構成、各種ソースコードの内容の確認、ビルド後の生成物の内容…

  • Vue.jsの2.xと3.xをVue CLIを使って動かしてみる(ビルドも行う)

    「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」と「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、セキュリティの勉強を進めています。 その上で必要な知識として、今回は、Webアプリケーションを簡単に構築できる Vue.js を理解しようと思います。 少し前に、Pythonベースの Flask(WSGI+Werkzeug+Jinja2)をやりましたが、今回の Vue.js は JavaScriptベースです。たくさんの言語が出てきて、フロントエンド開発は大変です。そのセキュリティを学ぶには、それら…

  • 安全なWebアプリケーションの作り方(徳丸本)の環境構築

    これまでは、「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」を参考にさせてもらって、理解を進めてきました。今回からは、並行して「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」(通称:徳丸本)を参考に、勉強を進めていきたいと思います。 この徳丸本とは、脆弱性のある仮想マシンを準備してくれていて(VirtualBox と Docker が準備されている)、その仮想マシンに対して、実際に攻撃を体験することで、脆弱性の理解を深めることができるというものです。 今回は、徳丸本の実習環境の構築を進めていきます。 それでは、やっていき…

  • shadowファイルを理解してパスワードを解読してみる

    前回 は、Flask で実装した Pythonスクリプトを Cython化してみました。 今回は、参考書にしている「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」で解説されていた shadowファイルについて、実際の shadowファイルを使って、内容を理解し、解析までやってみたいと思います。 それでは、やっていきます。

  • Python+FlaskのファイルをCython化してみる

    前回 は、簡単な Python の Webアプリケーションとして、WSGI を使った、wsgiref、Werkzeug、Flask を動かしてみました。 今回は、Flask で使った Python ファイルを Cython化してみたいと思います。Cython化するメリットは、Pythonの高速化が大きいですが、セキュリティ的に分かりにくいソースコードになるという点もあるようです。 それでは、やっていきます。

  • Python+Flask(WSGI+Werkzeug+Jinja2)を動かしてみる

    前回 は、参考書を見ながら、nginx の理解を進めました。 今回は、Flask という Python用の軽量な Webアプリケーションフレームワークを使ってみます。 Flask は、Werkzeug という WSGI に準拠した Webアプリケーションライブラリと、Jinja2 というテンプレートエンジンを使っています。 それでは、やっていきます。

  • nginx(エンジンエックス)を理解する

    前回 は、HTTP を題材に tcpdump の使い方を理解しました。 今回は、「nginx実践ガイド impress top gearシリーズ」と「Nginx ポケットリファレンス」を参考書として、Webサーバの nginx(エンジンエックス)の理解を行います。 それでは、やっていきます。

  • HTTPを題材にtcpdumpの出力を理解する

    前回 は、VirtualBox に ParrotOS の OVA をインストールして、Ubuntu と同じように使えるところまで、基本的な設定と、各ソフトウェアの設定を行いました。 今回は、「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」に沿って、進めた内容を書きたいところでしたが、ネットワークのパケットのやり取りを見るための知識が不足していたため、今回は tcpdump の見方を正しく理解しようと思います。 特に、HTTP のやり取りを理解しておかないと先に進めにくいと感じたので、今回は、HTTP の内容についてもまとめようと思います。 それでは、やっていきます。

  • VirtualBoxにParrotOS(OVA)をインストールする

    今回から、「ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習」を参考書として、セキュリティについて学んでいきます。 今回は、ParrotOS というペネトレーションテスト(サイバー攻撃手法でシステムに侵入を試みることでセキュリティレベルを評価する取り組み)向けの OS の環境構築を行います。 同じく、ペネトレーションテスト向けの OS として、Kali Linux がありますが、今回の参考書では ParrotOS が使われています。理由は、Kali Linux は、UI が大きく変わる傾向があり、本に書かれてることが使えなくなる可能性が高いためと書かれていました。 それで…

  • QEMUで組み込みLinux(aarch64+virtボード)でネットワーク調査とツールのクロスコンパイル

    前回 は、VirtualBox + Ubuntu 22.04 のネットワークの理解を進めました。 今回は、ここで作った QEMU を使って、VirtualBox + Ubuntu 22.04 とのネットワークの疎通を確認していきます。 それでは、やっていきます。

  • VirtualBoxのネットワークの理解(VirtualBox+Ubuntu 22.04)

    今回からネットワークの理解を進めていきます。 今回は、VirtualBox + Ubuntu 22.04 で、環境構築していきます。 それでは、やっていきます。

  • QEMUで組み込みLinux(Buildroot+virtボード)で ARM64bitを起動する

    前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox+U-Boot)で、initramfs を追加しました。 これまで、今回は、initramfsを追加していきます。 それでは、やっていきます。

  • QEMUで組み込みLinux(Buildroot+BusyBox+U-Boot)をinitramfsで起動する

    前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)で、U-Boot を追加しました。 今回は、initramfsを追加していきます。 それでは、やっていきます。

  • QEMUで組み込みLinux(Buildroot+BusyBox+U-Boot)で起動する

    前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)で、U-Boot を追加して、U-Boot の起動まで確認しました。 今回は、U-Boot の設定をして、カーネル、ルートファイルシステムを起動していきます。 それでは、やっていきます。

  • QEMUで組み込みLinux(Buildroot+BusyBox)にU-Bootを追加する

    前々回 と 前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)を動かしました。 今回は、Buildroot の別のオプションで Linux を構築します。 それでは、やっていきます。

  • QEMUで組み込みLinux(Buildroot+BusyBox)をやってみる、の補足

    前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)を動かしました。 今回は、前回の起動について、カーネルのパラメータなど、可能な限り、調査してみたいと思います。 それでは、やっていきます。

  • QEMUで組み込みLinux(Buildroot+BusyBox)をやってみる

    今回は、QEMU で Arm の組み込み Linux を動かしていきたいと思います。 これまで、STM32 を動かしていたのは、本家の QEMU ではなく、xPackプロジェクトの QEMU Arm でした。 今回は、Linux なので、本家の QEMU をインストールして、開発環境の構築と、簡単なものを動かしてみたいと思います。 それでは、やっていきます。

  • Git BASH(Git for Windowsに付属するツール)の紹介とカスタマイズ方法

    今回は、Git BASH の紹介と、カスタマイズについて説明します。 Git BASH とは、Git for Windows をインストールすると一緒にインストールされるツールです。 簡単に言うと、Windows で、Linux のようなコンソールが使えるようになります。 Windows のシステムに影響するような操作は、コマンドプロンプトか、PowerShell を使った方がいいと思います。 以前は、だいぶ苦労して、Cygwin をインストールする必要がありましたが、日常の操作ぐらいなら Git BASH で十分だと思います。

  • JSONファイルを扱うCUIツール「jq」を使ってみる

    前回 は、JSON ファイルを扱う方法をまとめました。 今回は、JSONファイルを扱うCUIツール「jq」について紹介します。

  • JSONファイルを扱う方法まとめ

    今回は、JSON ファイルを扱う方法を書きます。 巨大な JSON ファイルを扱うのは、なかなか大変です。 そこで、効率よく扱うための方法を調べたので、実際にやっていきます。

  • シェルスクリプトのテンプレート(bash)

    今回は、シェルスクリプトのテンプレートを作りました。 いつもシェルスクリプトを作るときは、前に作ったコードをコピーして使うことが多いのですが、前のコードが見つからないときに困ることがあったので、ブログに書いておこうと思います。 それではやっていきます!

  • JGraphTのサンプルソースの解説と可視化の補足(Ubuntu22.04、IntelliJ、Gradle)

    前回 は、JGraphT というグラフ理論のライブラリを Gradle プロジェクトで実行して、GraphViz で可視化するところまでやりました。 今回は、前回の補足として、サンプルソースの解説と、可視化のソースを完成させようと思います。 それではやっていきます!

  • GradleプロジェクトでJGraphTを使う(Ubuntu22.04)

    前回 は、前々回 に作った Gradle プロジェクトを、IntelliJ を使ってデバッグするところをやりました。 今回は、その Gradle プロジェクトを使って、JGraphT というグラフ理論のライブラリを Java で使ってみます。 JGraphT で簡単なサンプルを動かして、GraphViz で可視化するところまでやりたいと思います。 JGraphT には、Python バインディングもあるようです。 それではやっていきます!

  • Ghidraで始めるリバースエンジニアリング(使い方編)

    前回は、リバースエンジニアリングツールである Ghidra を使って、STM32 の ELFファイルを解析してみました。 今回も、書籍「リバースエンジニアリングツールGhidra実践ガイド (Compass Booksシリーズ)」を読みながら、さらに、STM32 の ELFファイルの解析を進めていきます。 それでは、やっていきます。

  • Ghidraで始めるリバースエンジニアリング

    今回から、リバースエンジニアリングツールである Ghidra を使っていきます。 書籍「リバースエンジニアリングツールGhidra実践ガイド (Compass Booksシリーズ)」を読みながら進めていきます。 それでは、やっていきます。

  • QEMUに似たRenodeでVSCodeを使ってRenode自体をデバッグする

    Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、STM32 のサンプルアプリを対象として、GDB でデバッグする代わりに、VSCode を使ってデバッグするところまで行いました。 今回は、STM32 のサンプルアプリではなく、サンプルアプリが動いている Renode 自体をデバッグする環境を構築していきます。 それでは、やっていきます。

  • QEMUに似たRenodeでVSCodeを使ってデバッグする

    Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、バイナリファイルから構築した ELFファイルが動かない原因を解析して、対策を行い、無事に動作するところまで行いました。 今回は、VSCode でデバッグする環境を構築していきます。 それでは、やっていきます。

  • QEMUに似たRenodeをソースからビルドする

    Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、バイナリファイルが動かない原因を解析しましたが、分かりませんでした。 もう少し深く解析するために、今回は、Renode をソースからビルドして、問題個所の特定と対策までやっていきます。 それでは、やっていきます。

  • QEMUに似たRenodeでSTM32をバイナリファイルで動かす

    前々回から、Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回は、GDB で接続するところをやりましたが、バイナリファイルではうまく動きませんでした。 この記事では、バイナリファイルで動かない原因を調べて、その記録となります。 古いバージョンを使ったり、デバッグログを出して確認してみましたが、原因は分かりませんでした。後で役立つかもしれないので、記事として投稿しますが、有益な情報は無いと思います。

  • QEMUに似たRenodeでSTM32をGDBを使ってデバッグする

    前回から、Renode という QEMU に似たオープンソースのエミュレータを試してます。 前回は、インストールとSTM32のサンプルソースの実行までをやりました。 今回は、GDB で接続して、デバッグしてみます。 それでは、やっていきます。

  • QEMUに似たRenodeというOSSの組込みデバイスエミュレータを試す

    今回から、Renode というオープンソースの組込みデバイスのエミュレータを試していきます。 簡単に言うと、QEMU と同じ位置付けの OSS です。QEMU よりも、組込みデバイスのサポートが充実しているようです。 それでは、やっていきます。

  • 量子化:論文 Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference を読む(3)

    量子化の3回目です! Googleが2017年12月にarXivに登録した論文の「Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference」の続きで、今回は 3章の予定でしたが、2章に関係が深い Appendix を先に読んでいきます。

  • gemmlowpライブラリのソースコードをデバッガを使って理解する

    今回もAIの量子化について学んでいきます。GoogleのQAT量子化の論文 に出てくる gemmlowp ライブラリ について見ていきます。 前回は、gemmlowp の サンプルコード(doc/quantization_example.cc)を実行しました。長い実行ログが出力されて、その内容は量子化計算のチュートリアルのようになっていたので、その説明をしました。 今回は、実行結果のログだけでは十分に理解できなかった部分を、デバッガを使って、実行結果とソースコードを見ながら、理解を深めていきます。 それでは、やっていきます!

  • gemmlowpライブラリのソースコードを読んで量子化を学ぶ(サンプルソースの実行)

    今回もAIの量子化について学んでいきます。GoogleのQAT量子化の論文 に出てくる gemmlowp ライブラリ について見ていきます。 それでは、やっていきます!

  • QEMUのソースコードを変更してSTM32の動作を変える

    前回は、だいぶ苦労して、QEMU をソースからビルドしました。 今回は、QEMU のソースコードを変更して、STM32 の動作を変えてみます。 それでは、やっていきます。

  • QEMUをソースからビルドして動かす

    前回は、QEMU のビルドに必要な xpm について学びました。 今回は、QEMU をビルドしていきます。途中でエラーが出ますが、そこを解決していきたいと思います。 それでは、やっていきます。

  • QEMUのビルドに必要なxpm(xPack Project Manager)について学ぶ

    前回は、バイナリファイル(デバッグ情報、シンボル情報が削除される)から再構築した ELFファイルを QEMU (ターゲットは STM32F4-Discovery)で動かしました。 今回は、QEMU をビルドして動かす予定でしたが、やってみるとビルドエラーになりました。簡単にはエラーを解決できなかったので、QEMU のビルドの仕組みの xpm を理解していきます。 それでは、やっていきます。

  • STM32(ARM Cortex-M)のバイナリから構築したELFファイルをQEMUで動かす

    前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたELFファイルをバイナリファイル(デバッグ情報、シンボル情報が削除される)に変換して、そのバイナリファイルでELFファイルを再構築しました。 今回は、そのELFファイル(デバッグ情報、シンボル情報なし)を QEMU で動かしていきたいと思います。 それでは、やっていきます。

  • STM32(ARM Cortex-M)のELFファイル⇔バイナリの変換を行う

    前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたELFファイルの内容を確認しました。 今回は、このELFファイルをバイナリファイルに変換して、デバッグ情報、シンボル情報を削除して、そこから、ELFファイルを再構築していきたいと思います。 それでは、やっていきます。

  • STM32(ARM Cortex-M)のELFファイルの内容を確認する

    前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたサンプルソースのリンカスクリプトの内容を確認しました。 今回は、これまで使ってきたサンプルソースをビルドして生成された ELFファイル の内容を見ていきたいと思います。 それでは、やっていきます。

  • STM32(ARM Cortex-M)をQEMUで動かす(リンカスクリプト編)

    前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたサンプルソースのスタートアップルーチンの内容を確認しました。 今回は、サンプルソースのリンカスクリプトの内容を確認していきます。 それでは、やっていきます。

  • STM32(ARM Cortex-M)をQEMUで動かす(スタートアップルーチン編)

    前回は、QEMU (ターゲットは STM32F4-Discovery)で動かしたサンプルソースのスタートアップルーチン以外の内容を確認しました。 今回は、サンプルソースのスタートアップルーチンの内容の確認と、アセンブラの動作の確認をしていきます。 それでは、やっていきます。

  • STM32(ARM Cortex-M)をQEMUで動かす(ソースコード確認編)

    前回は、Interface 2022年 7月号 を参考にして、苦労の末、QEMU (ターゲットは STM32F4-Discovery)を立ち上げました。QEMU とは、実機が無くてもプロセッサ(CPU、評価ボード)を動かせるエミュレータです。 今回は、動作させたサンプルソースの内容の確認と、機能の確認をしていきます。 それでは、やっていきます。

  • STM32(ARM Cortex-M)をQEMUで動かす(環境構築編)

    今回から QEMU をやっていきます。QEMU とは、実機が無くてもプロセッサ(CPU、評価ボード)を動かせるエミュレータです。 現在は、QEMU は、Linux を動かすことが多いようですが、私自身が QEMU の経験が少ないので、まずはマイコンをターゲットにしてやっていきます。 ターゲットとするマイコンは、Interface 2022年 7月号 で扱っていた STM32F4-Discovery にしたいと思います。 結論としては、無事に動きました。だいぶ苦労したので、手順としてまとめておきます。

  • IntelliJを使ってJavaのGradleプロジェクトでデバッグしてみる(Ubuntu22.04)

    前回、Gradleというビルドツールでプロジェクトを作って、「Hello, world.」までやりました。 今回は、そのプロジェクトを IntelliJ に読み込ませてデバッグするところまでやりたいと思います。 それではやっていきます!

arrow_drop_down

ブログリーダー」を活用して、daisukeさんをフォローしませんか?

ハンドル名
daisukeさん
ブログタイトル
土日の勉強ノート
フォロー
土日の勉強ノート

にほんブログ村 カテゴリー一覧

商用