LoginSignup
0
0

More than 3 years have passed since last update.

picoCTF 2019 NewOverFlow-1 - Points: 200

Posted at

問題

image.png

解いてみた

昨日まで全く気づきませんでしたが、200点の問題がまだ残ってました。
新規追加された?

ソースを見てみます。

image.png

picoCTF 2019 OverFlow 2 - Points: 250
https://qiita.com/CTFman/items/a52d658d15c2f902c3ee

これと同じ感じでvuln()のリターンアドレスをflag()の先頭にしてあげればよい問題だと思います。
今回は引数ないので前の問題よりラクな問題です。

まずはflag()の先頭アドレスを調べます。

image.png

flag()の先頭アドレスは0x0000000000400767だということがわかりました。
ん?いつもより桁数が多い気がします。
64bitかな?

image.png

64bitでした。
桁数が変わるだけで内容は一緒の考えで良いんですかね?
64bit初めてな気がします。
とりあえず今まで通りのやり方でやってみます。

次にするのは何文字入力すればvuln()のリターンアドレスが上書きされるか調べます。
適当に100文字いれて試してみます。

image.png

espないなーと思ってたら64bitなのでrspですね。
rspは0x37665866だということがわかりました。
リトルエンディアンに気を付けながら文字を調べます。

image.png

fXf7でした。
入力した文字列を確認すると73文字目からでした。

image.png

ここをflag()の先頭アドレスに書き換えて実行してみます。

image.png

んーダメでした。
近くのアドレスでやってみます。

image.png


popの次の位置に飛ばすとなぜかflagがでました。
謎です。

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