LoginSignup
0
0

More than 5 years have passed since last update.

picoCTF 2018 buffer overflow 1 - Points: 200

Posted at

問題

image.png

解いてみた

バッファオーバーフローの問題のようです。
まずはソースとプログラムをダウンロードします。

image.png

頑張ってwin()を呼び出してflag.txtを出力させる問題のようです。

ディレクトリを確認してみます。

image.png

objdumpしてwin()の場所を確認します。

objdump -d -M intel ./vuln

image.png

080485cbがwin()の始まりということができました。
さてこれをどこに入れればいいんでしょう。
一度実行してみます。

image.png

たくさん入力したところ0x76757473に変わりました。
これはUTF-8のvutsです。
Unicode対応 文字コード表 - ASH

順番が逆になってるのはリトルエンディアンだからだと思われます。
ここを先ほど確認したwin()のアドレス080485cbにすればよさそうです。

abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz
↓
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr\xcb\x85\x04\x08

にして実行してみます。

image.png

ダメでした。
0x6263785cが何か調べてみると「bcx\」でした。
16進数ではなくてそのまま文字として読まれていたようです。。。

echoでエスケープシーケンスが使えるのでそれを使います。
具体的には以下でしょうか。

echo -e "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr\xcb\x85\x04\x08" | ./vuln

image.png

できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0