2008-03-01から1ヶ月間の記事一覧

整数オーバーフローの初歩の初歩

とりあえずサンプルを作る #include #include #include int main(int argc, char **argv) { char *p; int len = atoi(argv[1]); if (len malloc(len); strcpy(p, argv[2]); } else printf("the number which you inputed is too big\n"); return 0; } それで…

sudoeditのexploit

DVLに入っているsudoeditは脆弱性のあるバージョンでexploitもあるのでを読んでみました。脆弱性の内容は推測可能なテンポラリファイルを作ってるのが原因みたいですね。 sudoeditの引数に渡すファイル名でファイルを作っているので簡単にファイルにアクセス…

Damn Vulnerable Linuxのビデオ

DVLにあるビデオ「BinExploitMe - Lesson 1: A Simple Buffer Overflow」とかは説明している事は初歩的なんだけど実演があるので面白い。 #メンバーじゃないと見れないかも。ここからリンクされているVideo(@)RCE.netにも色々ビデオがあります。 ここにアッ…

ファズテスト

昨日アマゾンからFUZZINGが届いたので読み始めました。 思ってたより厚い本なのでいつ読み終わることやら。。。まずはSPIKEfileでもと思ってソースをダウンロードしたけどx86しか対応していないのであきらめて debianにはzzufっていうツールがあるのでそちら…

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

まずはこのソースをコンパイル。 テスト環境はこれ [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…

x86_64環境でシェルコードを実行するコードをテスト。 元ネタのシェルコードはここ。 とりあえずこれはアセンブラのソースなので適当な名前で保存してgccの-cオプションでオブジェクトファイルに変換。 それをobjdump使ってバイトコードを出力、それをcharの…

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