fr33f0r4llスマートフォン用の表示で見るfr33f0r4ll自分用雑記この広告は、90日以上更新していないブログに表示しています。SleepyHolderを解いたのでそのメモ。問題自体はここから、参考にしたWriteupはここ。shellphishの方のリンクはヒントも載っている上にlibcがないので見ない方がいいかも。SleepyHolderというプログラムとlibcが降ってくる。解析リバースしたソースコードはこんな感じ。freeができそうというのが分かる。freeすることも分かる。それ以上は分からなかった。ここでもうwriteupを見て、exploitを解析しながら解いた。unlinkも同時に使うらしい。unlinkはkatagaitai勉強会の第1回目のスライドを参考にした。unlinkを成立させる。unlinkによってグローバル領域にあるsmall_secretにはsmall_secret+0x18の値が格納される。次に、small_secret+0x18に書き込みをしてグローバル変数を改ざんする。big_secretにfree@GOTを格納することで、freeの呼び出しをputsの呼び出しにする。gadgetでsystemを起動できるアドレスを取得する。gadgetを設定する。これで次のputsの呼び出しでシェルが起動できる。exploitはこんな感じ、ほとんどwriteupの方のコピーで動作のメモをしただけ。タイミングの問題か、引数でDEBUGを指定しないとうまく動いてくれない。0はprev_size、0x21はサイズになる。Writeup基本的に自分で解いたやつだけ。実行...2018-02-06avastのretdecavastがデコンパイラを公開したので使ってみた。(1)はてなブログをはじめよう!hiziriAIさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。