今回は、Windows10 がインストールされた PC に対して、WSL(Windows Subsystem for Linux)をインストールし、さらに、Ubuntu 24.04 をインストールしてみたいと思います。 それでは、やっていきます。
AI、機械学習、最適化、Pythonなどについて、技術的な内容や、ツールの作成/紹介を書いています。また、はてなブログのブログをカスタマイズした方法についても、詳しく書いています。
書籍「詳解セキュリティコンテスト」Pwnableの仕様に起因する脆弱性を読んだ
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。 前回は、32章の「共有ライブラリと関数呼び出し」でした。34章の「ヒープベースエクスプロイト」は、次回に回して、今回は、35章の「仕様に起因する脆弱性」を読んでいきたいと思います。 35章の「仕様に起因する脆弱性」では、書式文字列攻撃を取り扱っています。picoCTF 2025 の Binary Exploitation で、書式文字列攻撃の問題が出たのですが、エクスプロイトコードをうまく実装できなかったので、こちらを先に読んでいきたいと思います。 それでは…
本日(2025/4/2)、Googleアドセンスの収益化が確認できました!! はてなブログを無料版で開設してから、約1年で達成できました。 いつもアクセスして頂いている方には、本当に感謝です 🙇 今日は、その報告と、この1年を簡単に振り返ってみたいと思います。 この記事が、Googleアドセンスを目指してる方の参考になれば嬉しいです。
「ブログリーダー」を活用して、daisukeさんをフォローしませんか?
今回は、Windows10 がインストールされた PC に対して、WSL(Windows Subsystem for Linux)をインストールし、さらに、Ubuntu 24.04 をインストールしてみたいと思います。 それでは、やっていきます。
前回 は、GitHub が開発した CodeQL(セキュリティ脆弱性を検出するオープンソースのツール)を、ローカル(CodeQL CLI )で使ってみました。 しかし、UAF(Use After Free)が入ったソースコードを準備しましたが、標準クエリでは、UAF を検出できませんでした。 今回は、そのあたりを深掘りして、UAF を検知させるところまでやってみたいと思います。 それでは、やっていきます。
今回は、GitHub が開発し、また、GitHub で使われている CodeQL という、セキュリティ脆弱性を検出するオープンソースのツール(コード分析エンジン)を使ってみたいと思います。 VSCode(Visual Studio Code)に、CodeQL をインストールして使われる場合が多いかもしれませんが、ここでは、まずは、ローカルで使っていこうと思います(CodeQL CLI)。 それでは、やっていきます。
前回 は、ROS2 のユーザノードのトピックの実装をやってみました。 今回は、ROS2 の中身を見ていきたいと思います。 それでは、やっていきます。
前回 は、ROS2 のインストールと、CUI、GUI のいくつかの動作確認を行いました。 今回は、自分でノード(ユーザアプリ)を作ってみたいと思います。これにより、既存のノードを読めるようになると思います。 それでは、やっていきます。
ROS2 に関する書籍を入手したので、今回は、ROS2 について調べていきたいと思います。 ROS1 は、少しやっていたのですが、ROS2 は初めてです。 それでは、やっていきます。
最近、ソースコードを読むことが多いので、便利そうなツールを探しています。 しかし、なかなか、新しいよく出来たツールはありません。やはり、昔ながらのツールがいいのかなと思ったりしてます。GNU Global は、昔、サクラエディタで使えるようになった時期があって、少しの間使っていましたが、ctags で十分かな、と思って、いつの間にか使わなくなっていました。 あと、コールツリー(コールグラフ)も、いいツールが無いか、探して見ましたが、結局、cflow になりました。 GNU Global と cflow を連携させて、HTML化するのは初めて知りました。こちらも紹介したいと思います。 それでは、…
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第5章の「rot13(書式文字列攻撃)」を読んでいきたいと思います。 それでは、やっていきます。
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第4章の「login3(スタックバッファオーバーフロー3)」を読んでいきたいと思います。 それでは、やっていきます。
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第3章の「login2(スタックバッファオーバーフロー2)」を読んでいきたいと思います。 それでは、やっていきます。
前回 から、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読み進めています。 今回は、第2章の「login1(スタックバッファオーバーフロー1)」を読んでいきたいと思います。 それでは、やっていきます。
前回 までは、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めてきました。ようやく読み終わったので、今回からは、「解題pwnable セキュリティコンテストに挑戦しよう! 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))」を読んでいきます。 全体で、140ページぐらいで、第1章から第12章まであります。 今回は、第1章の「準備」を読んでいきたいと思います。 それでは、やっていきます。
pwntools を使ったエクスプロイトコードをデバッグする(gdb.debug( bin_file ))とき、別ウィンドウが立ち上がって、GDB が起動します。Ubuntu では、うまく別ウィンドウが起動してくれるのですが、Parrot OS 6.1 では、なぜか、別ウィンドウが起動してくれません。 いろいろ情報を探したり、ChatGPT に聞いたりしたところ、context の terminal を明示的に設定する必要がある、ということが分かりました。 書籍の「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」の提供してくれているエクスプロイト…
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。前回は、今回の「ヒープベースエクスプロイト」を飛ばして、35章の「仕様に起因する脆弱性」でした。 今回は、34章の「ヒープベースエクスプロイト」を読んでいきたいと思います。だいぶ長いので、しばらくかかると思います。 それでは、やっていきます。
現在、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」の 34章の「ヒープベースエクスプロイト」を読み進めています。34章では、glibc-2.31 を使うことを前提に解説がされています。出来れば、書籍と同じ環境を準備したいところです。 しかし、glibc-2.31 は Ubuntu 20.04 のシステムで使われていた?そうなのですが、現在は、少し古いバージョンの glibc です。現在、Parrot OS 6.1 を使ってますが、glibc のバージョンは、2.36 でした。 そこで、この記事では、システムの glibc とは異なるバージョ…
前回 は、引き続き、「詳解セキュリティコンテスト: CTFで学ぶ脆弱性攻略の技術 Compass Booksシリーズ」を読み進めました。 前回は、32章の「共有ライブラリと関数呼び出し」でした。34章の「ヒープベースエクスプロイト」は、次回に回して、今回は、35章の「仕様に起因する脆弱性」を読んでいきたいと思います。 35章の「仕様に起因する脆弱性」では、書式文字列攻撃を取り扱っています。picoCTF 2025 の Binary Exploitation で、書式文字列攻撃の問題が出たのですが、エクスプロイトコードをうまく実装できなかったので、こちらを先に読んでいきたいと思います。 それでは…
本日(2025/4/2)、Googleアドセンスの収益化が確認できました!! はてなブログを無料版で開設してから、約1年で達成できました。 いつもアクセスして頂いている方には、本当に感謝です 🙇 今日は、その報告と、この1年を簡単に振り返ってみたいと思います。 この記事が、Googleアドセンスを目指してる方の参考になれば嬉しいです。
最近、いくつかの USB に関する本を読んだので、理解した内容についてまとめておこうと思います。 それでは、やっていきます。
今回は、povo 2.0 の「通話+データ」の契約を実際にやってみたので、その手順をまとめておきたいと思います。povo 2.0 は、月々の基本料が 0円で、今持ってるスマホとは別に、新しい電話番号を取得することが出来ます。 必要になったときに、トッピングと呼ばれるデータや通話が出来るオプションを購入することで使うことが出来ます。ただし、契約してから、180日間以内にトッピングを購入する必要があります。また、最後にトッピングを購入してから、180日間以内に再度、トッピングを購入する必要があります。 つまり、半年に 1回はトッピングを購入する必要があります。たくさんの種類のトッピングがありますが…
前回 から、picoCTF 2025 にリアルタイムで参戦しています。 picoCTF 2025 が 3/7 から始まっていて、昨日(3/17)に終了しました。今回は、リアルタイムで参戦できました。終了するまでは、解法や、フラグを公開することは禁止されていましたので、順番にその内容を公開していきます。 今回は、Binary Exploitation です。 それでは、やっていきます。
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox+U-Boot)で、initramfs を追加しました。 これまで、今回は、initramfsを追加していきます。 それでは、やっていきます。
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)で、U-Boot を追加しました。 今回は、initramfsを追加していきます。 それでは、やっていきます。
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)で、U-Boot を追加して、U-Boot の起動まで確認しました。 今回は、U-Boot の設定をして、カーネル、ルートファイルシステムを起動していきます。 それでは、やっていきます。
前々回 と 前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)を動かしました。 今回は、Buildroot の別のオプションで Linux を構築します。 それでは、やっていきます。
前回 は、QEMU で Arm の組み込み Linux(Buildroot+BusyBox)を動かしました。 今回は、前回の起動について、カーネルのパラメータなど、可能な限り、調査してみたいと思います。 それでは、やっていきます。
今回は、QEMU で Arm の組み込み Linux を動かしていきたいと思います。 これまで、STM32 を動かしていたのは、本家の QEMU ではなく、xPackプロジェクトの QEMU Arm でした。 今回は、Linux なので、本家の QEMU をインストールして、開発環境の構築と、簡単なものを動かしてみたいと思います。 それでは、やっていきます。
今回は、Git BASH の紹介と、カスタマイズについて説明します。 Git BASH とは、Git for Windows をインストールすると一緒にインストールされるツールです。 簡単に言うと、Windows で、Linux のようなコンソールが使えるようになります。 Windows のシステムに影響するような操作は、コマンドプロンプトか、PowerShell を使った方がいいと思います。 以前は、だいぶ苦労して、Cygwin をインストールする必要がありましたが、日常の操作ぐらいなら Git BASH で十分だと思います。
前回 は、JSON ファイルを扱う方法をまとめました。 今回は、JSONファイルを扱うCUIツール「jq」について紹介します。
今回は、JSON ファイルを扱う方法を書きます。 巨大な JSON ファイルを扱うのは、なかなか大変です。 そこで、効率よく扱うための方法を調べたので、実際にやっていきます。
今回は、シェルスクリプトのテンプレートを作りました。 いつもシェルスクリプトを作るときは、前に作ったコードをコピーして使うことが多いのですが、前のコードが見つからないときに困ることがあったので、ブログに書いておこうと思います。 それではやっていきます!
前回 は、JGraphT というグラフ理論のライブラリを Gradle プロジェクトで実行して、GraphViz で可視化するところまでやりました。 今回は、前回の補足として、サンプルソースの解説と、可視化のソースを完成させようと思います。 それではやっていきます!
前回 は、前々回 に作った Gradle プロジェクトを、IntelliJ を使ってデバッグするところをやりました。 今回は、その Gradle プロジェクトを使って、JGraphT というグラフ理論のライブラリを Java で使ってみます。 JGraphT で簡単なサンプルを動かして、GraphViz で可視化するところまでやりたいと思います。 JGraphT には、Python バインディングもあるようです。 それではやっていきます!
前回は、リバースエンジニアリングツールである Ghidra を使って、STM32 の ELFファイルを解析してみました。 今回も、書籍「リバースエンジニアリングツールGhidra実践ガイド (Compass Booksシリーズ)」を読みながら、さらに、STM32 の ELFファイルの解析を進めていきます。 それでは、やっていきます。
今回から、リバースエンジニアリングツールである Ghidra を使っていきます。 書籍「リバースエンジニアリングツールGhidra実践ガイド (Compass Booksシリーズ)」を読みながら進めていきます。 それでは、やっていきます。
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、STM32 のサンプルアプリを対象として、GDB でデバッグする代わりに、VSCode を使ってデバッグするところまで行いました。 今回は、STM32 のサンプルアプリではなく、サンプルアプリが動いている Renode 自体をデバッグする環境を構築していきます。 それでは、やっていきます。
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、バイナリファイルから構築した ELFファイルが動かない原因を解析して、対策を行い、無事に動作するところまで行いました。 今回は、VSCode でデバッグする環境を構築していきます。 それでは、やっていきます。
Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回 は、バイナリファイルが動かない原因を解析しましたが、分かりませんでした。 もう少し深く解析するために、今回は、Renode をソースからビルドして、問題個所の特定と対策までやっていきます。 それでは、やっていきます。
前々回から、Renode という QEMU に似たオープンソースのエミュレータを試しています。 前回は、GDB で接続するところをやりましたが、バイナリファイルではうまく動きませんでした。 この記事では、バイナリファイルで動かない原因を調べて、その記録となります。 古いバージョンを使ったり、デバッグログを出して確認してみましたが、原因は分かりませんでした。後で役立つかもしれないので、記事として投稿しますが、有益な情報は無いと思います。
前回から、Renode という QEMU に似たオープンソースのエミュレータを試してます。 前回は、インストールとSTM32のサンプルソースの実行までをやりました。 今回は、GDB で接続して、デバッグしてみます。 それでは、やっていきます。
今回から、Renode というオープンソースの組込みデバイスのエミュレータを試していきます。 簡単に言うと、QEMU と同じ位置付けの OSS です。QEMU よりも、組込みデバイスのサポートが充実しているようです。 それでは、やっていきます。