狠狠撸
Submit Search
MCC CTF講習会 pwn編2
?
4 likes
?
1,416 views
H
hama7230
Follow
その2です。
Read less
Read more
1 of 11
Download now
Downloaded 17 times
More Related Content
MCC CTF講習会 pwn編2
1.
MCC CTF講習会 ー pwn編2
ー 2017/07/10 @TUAT hama (@hama7230)
2.
??紹介 ?hama (@hama7230) ?CTFは趣味 ?TokyoWesterns l pwn担当 ?最近、pwnの基礎基本 が分かってきような気 がする程度の実? 1
3.
最初に注意 今?の内容を、許可されていないシ ステムに対して実?は犯罪です やるならCTFでやりましょう 2
4.
今?と来週の内容 ?先週の内容 1. 簡単なCTFの説明 2. 簡単なpwnの説明 3.
pwnのやり? 4. 軽く実践 ?今?の予定 1. 簡単なテクニックの紹介 2. とにかく実践 3
5.
初?者向けテクニック集 ?pwnはある領域をoverwriteすることに よって制御を奪うジャンル l 例外はあります(Ex. Race
Condition) ?では、どこを書き換えると制御を奪える のか? l 今?はよくあるテクニック、攻め筋を紹介 4
6.
eip(rip)を奪う?法 ?eip(rip)は実?している命令のアドレス を指すレジスタ l このレジスタを任意に制御したい l あるところを書き換えると制御を奪える 5
7.
Return Address Overwrite ?return
address overwrite l スタックにあるリターンアドレスを書き換える l 関数の終わりに制御を奪える l 任意の箇所に制御を移せるのでシェルコードへ ジャンプ l ret2plt, ret2libcなどのROPに繋がって?く ?StackでのBuffer OverFlowがある場合狙 える ?canaryがある場合は注意 l canaryのleakが必要 6
8.
GOT Overwrite ?解決したライブラリ関数のアドレスを保 持しておくのがGlobal Offset
Table ?GOTを書き換えておくと、その関数が呼 ばれたときに制御を奪える ?ユーザの??をそのまま渡すatoi(), strlen()などをsystem()に書き換えるパ ターンはよく使う 7
9.
.fini_array Overwrite ?main関数が終了した後に呼ぶ処理のア ドレスは、.fini_arrayに格納する ?ここを書き換えてくと、main関数終了 後に制御を奪える 8
10.
.fini_array Overwrite ?スクショだと、.fini_arrayは0x8049ec0 ?writableなので書き込み可能 9
11.
_IO_jump_t Overwrite ?stdinやstdoutの実体はFILE構造体 ?FILE構造体は関数テーブルのポインタ を持っている ?関数テーブルのポインタを書き換えるか、 stdin/stdout/stderrの指す先を書き換 えて偽造すれば制御を奪える 10
Download