newbieからバイナリアンへ

newbieからバイナリアンへ

コンピュータ初心者からバイナリアンを目指す大学生日記

pwn - others

【PBA 1.0】 ELF loader & Easy code injection with libbfd & libelf

// 1. libbfd &libelf libbfdはELFバイナリを解析するためのライブラリ gdbなんかで使われている こいつを使うとセクションやシンボルの情報に構造体を通して容易にアクセスできる libelfはelfutilsの一部であり やはりELFバイナリを操作するのに使われる 以…

【pwn 1.0】PBA lvl3 - ELFの構造

夏は暑い そして冬は寒い 0. 参考 ・『Practical Binary Analysis』Dennis Andriesse, No Starch Press 1. イントロ 前回に引き続き本書の章末問題を解いていく 2. まずは小手調べ targetは"lvl3"という以下のELFファイル file いきなり変な感じがする ・Mot…

【pwn 1.0】PBA lvl2 - できるだけアセンブリを読まずに

言葉じゃなくて してくれたことであの花を見るべきだった 0. 参考 ・『Practical Binary Analysis』Dennis Andriesse, No Starch Press 1. イントロ Practical Binary Analysisという本を読んでみたかったが、去年の秋に発売されたばかりで日本のAmazonで買…

【Pwn練習 part2.0】お道具箱

pwnable.xyzの問題を15問ほど解いた write_upを公表するのはルール違反だからできないが 解いてきた上での自分なりの手順をまとめると ・checksecでセキュリティ機構確認 ・readelfでシンボル情報確認 ・stringsでcat flagみたいな文字列を検索 (xyzはだ…

【まとめ】GOT/PLT/RELRO

1.内容 pwnable.xyzを解くときにGOT overwriteする必要があったが GOT/PLTの関係が曖昧だったため確認しておく 参考サイト: systemoverlord.com 2.なんで動的リンクをするか 共有ライブラリが用意してある理由は 頻繁に使われる操作をモジュールとして再利用…

【Pwn練習 part.0.1】関数呼び出しとスタック

CTFのPwn問題を解くために gdb-pedaとアセンブラになれる必要があるため 自分で適当なコードを書いて ディスアセンブラが吐いたコードを見て練習することにした // 1.解析対象 今回解析する簡単なプログラムは以下の通り #include<stdio.h> int func(int arg){ int a </stdio.h>…