FSB
Format String Bugを用いた攻撃とスタックのお話
本セクションでは、userlandの基礎的な技術について触れていきます。
主に以下のことを扱います:
扱うテーマ自体はuserlandに固有なものもありますが、 そこで扱う知識や技術・デバッグ手法等についてはkernel exploitに共通することが多いです。 Kernel Exploitの前段階として実際に手を動かしながら進めてください。
各章は、実際の問題(Challenge
/Exercise
)とそこで用いる知識・技術の解説から構成されています。
Challengeは実際にリモートサーバ(sc.skb.pw
)上で動いており、Flagが奪取できれば正解です。
自身の現在持っている技術・スキルに合わせて進めてください。
本セクションでの基本的な目的は、ユーザシェルを奪取することとします。
そのための準備として、メモリREADやメモリWRITEプリミティブを取得することが中視点的な目標になります。
本セクションで提示される問題には、(問題なので)脆弱性が含まれています。 脆弱性の種類によって最初に出来ることが異なります。 exploitにおいては、最初の脆弱性からできるプリミティブを広げていき、 最終的に任意のアドレスに任意の値を書き込める(AAW)ようにするのが大体の目的になります。
Format String Bugを用いた攻撃とスタックのお話
Return Oriented ProgrammingとBuffer Overflowとlibc
Heapの基礎とtcache poisoning
FSOPと関数ポインタの書き換え