pwnable.kr (1)
CTF布教用の記事。
http://pwnable.kr
pwnable.krというサイトがあります。最初の方は初心者向けだと思います。pwnable.twっていうのもあります。両方、CTF(pwn)の練習になると思います。ブログに書きやすそうなものが最近ないので(規模がでかいため)CTFっぽいのも練習がてらやっていこうと思います。
そんなわけで、ちょっとずつやって行こうと思います。個人的にスクリプトを実行するのが弱いと思っているので、練習がてら 1 行で達成していくのが目標です。
ちなみに既に writeup が出ているのでそれを見てやったのか判断するのは読者次第です(笑)
それでは 爆走兄弟 レッツ & ゴー
fd
ネタバレだから、自分でやろうとする人はこっから見ないでね!!!!!!!!!!
一番最初のやつです。
fd@ubuntu:~$ ls fd fd.c flag fd@ubuntu:~$ cat flag cat: flag: Permission denied fd@ubuntu:~$ ll ll: command not found fd@ubuntu:~$ ls -l total 16 -r-sr-x--- 1 fd_pwn fd 7322 Jun 11 2014 fd -rw-r--r-- 1 root root 418 Jun 11 2014 fd.c -r--r----- 1 fd_pwn root 50 Jun 11 2014 flag
こんな感じになってる。今回は、fd.cを直接見た。
fd 完全に file descriptor ことだね。システムコール使うopenとかはFILE構造体じゃなくてだいたいfdを使ったりする(豆)
重要なのはfdが0は標準入力を表すってこと。1は出力で2 はerrだったかな。
これは調べることなく一発で出せた。簡単。llないの不便だよね。aliasでいつもつけます。
$ echo LETMEWIN | ./fd `python -c "print 0x1234"`
これで出るね。というか出た。
四苦八苦はしてないけど、Hackっぽさはあるんじゃない?