ksnctfの問題を解く
ksnctf writeup を参考にした.
3 Crawling Chaos
javascriptのコードであることがわからなかった.
jsに触れたことなかったのでwrite-upそのままコピペ.
4 Villager A
脆弱性を突いてスタックの値を書き換え,任意のコードを実行させればいいらしい.
難しくて理解が追いつかなった.
format string attack
フォーマット文字列攻撃 はprintfとかを利用して関数のリターンアドレスを書き換えるもの.
共有ライブラリのシンボルを解決するときに以下の2つを使う.
- GOT(Global Offset Table)
- PLT(Procedure Linkage Table)
リンカはライブラリ関数を呼ぶコードにPLT経由でGOTを参照させる.
ローダは実際にメモリ上に展開された共有ライブラリのアドレスでGOTを書き換える.
つまり,
PLT→GOT→メモリ上に展開された共有ライブラリのシンボル
いまいち仕組みが理解できていない.
tips
macでoptionを押しながらWi-FiアイコンをクリックするとBSSIDや転送レートなどの情報を参照することができる.