セキュリティ
エクスプロイト

バイナリエクスプロイト初心者にうってつけ、Narniaにチャレンジ!

作業の備忘録がてら書いているブログです。
誰かの助けになれば幸いです。

Narniaとは

バイナリエクスプロイトの初歩の初歩を体感することができます。
「Over the wire」というバイナリエクスプロイトを勉強できるサイトのコンテンツの1つです。
難易度は2/10とのことで、初心者にうってつけだと思います。
(私もバイナリエクスプロイトは未知の世界(`・ω・´)!)

環境への接続

http://overthewire.org/wargames/narnia/
詳しくは公式のページに書いてあります。
「narnia.labs.overthewire.org through SSH on port 2226.」って書いてあるので、teratermでSSH接続してみます。
ページに記載されているユーザアカウント・PWを使用して接続!
image.png

done!
image.png

データは/narnia/配下にあるそうですよ!
cd /narnia/

試しにレベル0だけチャレンジ

/narnia/でlsしてみると、ファイルの一覧がでてきます。
image.png

narnia0を実行してみます。
image.png
わ~~~何か聞かれた。。。ちんぷんかんぷんであります。。。
ソースを見てみます。。。

image.png

・・・・ぶっちゃけちんぷんかんぷんです\(^o^)/
なぜなら私はプログラミングが全然わからんからです。。。

自分なりに分かったところメモ

答えには全くたどり着いてないので教えてエロい人!

変数valに0x41414141っていう値が入ってます。
0xって書いてあるから16進数で、、、(0は数字、xは16進数だよ、ってことを表しています)
41はASCIIコードでAの意味なので、AAAAって値が代入されてるようです。
buf[20]とかいてあるので、20バイトのバッファをつかって入力を受け付けるらしい・・・
その後scanf()で最大24バイトを読み取っています。
バッファオーバーフローの問題っぽいということはなんとなく分かりましたが、後はわかりません!!!(どやぁ

結論

私にはNarnia・・・というかバイナリエクスプロイトはまだ早かった!←
もう少し勉強してから出直してきます。* ゚ + 。・゚・。* ゚ + 。・゚・。* ゚ + 。・゚・(ノД`)