Stack Pivotについて
攻撃者が新たに用意した領域や、攻撃者が自由にデータを書き込める領域、既存の別領域をスタックとして利用するStack Pivotの勉強。
続きを読むシェルコードを入力してシェルをとる
picoCTF 2021の「filtered-shellcode」。
シェルコードを注入してシェルをとるいつものpwnとは少し違った問題(シェルコードの各命令を2バイト以下に抑えなくてはいけないという制限がある)。
またpwntoolsのshellcraftを初めて使った。
続きを読むPLT(Procedure Linkage Table)とGOT(Global Offset Table)
GOT Overwriteの問題をやる前に、共有ライブラリの関数呼び出しはどのようなものなのか?PLTとGOTについて勉強する。
続きを読むSROPとNX enabledの回避
Hack The Boxのチャレンジ「Sick ROP」(一つ前の記事はこのため)。
SROPによる攻撃、sys_mprotectを呼び出してNX enabledの回避、そしてシェルコードを注入してシェルを起動する。
続きを読むローカル変数の書き換え
picoMini by redpwnの「clutter-overflow」。ローカル変数の書き換えをしてif文の判定をTrueにしフラグを出力。
基礎的な問題だが、ローカル変数の書き換え、スタックの様子など良い復習になった。
続きを読む