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っぽさはあるんじゃない?