バッファオーバーフロー

return2libc

スタックオーバーフローでスタック上のシェルコードを実行するんじゃなくて任意の関数に処理を移行するってことで とりあえずsystem()を呼べるように試した。 実施環境はいつもながらDVL。まずは脆弱性のあるコード。 bt test $ cat vuln.c #include <string.h> void t</string.h>…

環境変数経由でshellコードを起動

今時のLinuxってスタックの開始位置が毎回変わりますよね。 そうするとリターンアドレスとかが分かりにくくなっているわけです。 となると昔ながらのバッファオーバーフローエクスプロイトが通じないんですよ。(通じにくい??) じゃあどうやるんだろーっ…

バッファオーバーフローで関数ポインタを書き換える練習。

まずはこのソースをコンパイル。 テスト環境はこれ [masami@moon:~/dvl/test]% gcc -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --ena…

まずは基本ということでスタックオーバーフローの再勉強中。メインPCはAMD64でdebianのsidを動かしてますが、勉強環境はqemu + Damn Vulnerable Linuxで安全かつセキュアじゃない環境です(^^)参考書籍はO'REILLYから出ている「HACKING:美しき策謀」。手始め…