InCTF

InCTF writeup Warm Up

Warm Up

150

When warmup becomes magical, security disintegrates.

Link to the Challenge

問題に提示されているURLを表示します。

no title

”Forgot Password?”のリンクをクリックします。下図のようにphpのプログラムが表示されます。

1

入力されたidとパスワードを文字列連結してSELECT文を組み立てていますのでSQLインジェクションの脆弱性があります。パスワードの入力はmd5関数を通してそのハッシュ値を使っています。
過去のCTFでもmd5関数のハッシュ値を使ったSQLインジェクションの手法が取り上げられているようです。
http://cvk.posthaven.com/sql-injection-with-raw-md5-hashes

それでは、USERNAMEとPASSWORDにadmin/129581926211651571912466741651878684928を入力してSIGN INします。下図のようにフラグが表示されました。

2

フラグは、
inctf{Y0u_C4n_N3v3r_F1nd_7h1s_Fl4g}
です。



InCTF writeup EasyOne

EasyOne

50

I have the flag mate but I don't know the password to read it. Can you crack it?

Link to the Challenge



flag.zipファイルにはパスワードがかかっています。
もうひとつのファイルchal.imgをfileコマンドで確認します。ファイルシステムです。
$ file chal.img 
chal.img: x86 boot sector
次にstringsコマンドで文字列を確認します。wavファイルがありそうです。
$ strings chal.img
(略)
RIFF
WAVEfmt 
(略)
該当箇所をバイナリエディタで確認してみます。RIFFの次の4バイトがデータサイズになります。データサイズはリトルエンディアンなので0x0005D084=381060byteになります。
 ADDRESS   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F   0123456789ABCDEF 
------------------------------------------------------------------------------
 00109000  52 49 46 46 84 D0 05 00 57 41 56 45 66 6D 74 20   RIFF��..WAVEfmt  
したがって、0x109000~0x16608bまでをコピーして別ファイルとして保存します。そのファイルをAudacityで開いてスペクトログラムを表示すると下図のように文字列が隠されていることが分かります。

1

この文字列(thisisthepasswordtoolongtobruteforce)でflag.zipファイルを解凍するとflag.txtファイルができます。このファイルにフラグが記載されています。
フラグは、
inctf{th1s_1s_pr3tty_3asy_w4rmup}

InCTF writeup Time

Time

50

All of you want is time and all you have is time.



ダウンロードしたファイルをfileコマンドで確認します。LinuxのARM CPUの実行ファイルのようです。
$ file Time 
Time: ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped
qemuで実行してみます。動きません。
$ qemu-arm ./Time 
/lib/ld-linux.so.3: No such file or directory
Dynamicリンクの場合ライブラリの場所を指定する必要があります。-Lオプションでライブラリの場所を指定して再度実行してみます。
$ qemu-arm -L /usr/arm-linux-gnueabi/lib/ ./Time
/lib/ld-linux.so.3: No such file or directory
それでも動きませんので、/libフォルダにリンクを張ります。
$ sudo ln -s /usr/arm-linux-gnueabi/lib/ld-linux.so.3 .
$ sudo ln -s /usr/arm-linux-gnueabi/lib arm-linux-gnueabi
そして再度実行してみます。Keyを聞いてきますので適当に入力するとチェックではじかれるようです。
$ qemu-arm ./TimeYou sucessfully loaded the file :)
Enter your Key
123456
Flag check failed
それでは、ARMのobjdumpで逆アセンブルします。
$ arm-linux-gnueabi-objdump -s -D Time > aaa.txt
以下の箇所を見ると、アドレス0x1084cのデータと0x7とのxorを取っているようです。
    8574: e59f3058 ldr r3, [pc, #88] ; 0x85d4
    8578: e51b2008 ldr r2, [fp, #-8]
    857c: e7933102 ldr r3, [r3, r2, lsl #2]
    8580: e2233007 eor r3, r3, #7
    8584: e1a00003 mov r0, r3
    8588: ebffff8b bl 0x83bc
(略)
    85d4: 0001084c andeq r0, r1, ip, asr #16
アドレス0x1084cを見てみます。0x7とxorをとるとフラグになりそうですね。
セクション .data の内容:
 10844 00000000 00000000 6e000000 69000000  ........n...i...
 10854 64000000 73000000 61000000 7c000000  d...s...a...|...
 10864 53000000 6f000000 36000000 74000000  S...o...6...t...
 10874 58000000 26000000 74000000 58000000  X...&...t...X...
 10884 6d000000 52000000 74000000 73000000  m...R...t...s...
 10894 58000000 73000000 6f000000 34000000  X...s...o...4...
 108a4 58000000 45000000 34000000 60000000  X...E...4...`...
 108b4 6e000000 69000000 49000000 6e000000  n...i...I...n...
 108c4 69000000 60000000 7a000000 98a9365a  i...`...z.....6Z
それでは、文字列"nidsa|So6tX&tXmRtsXso4XE4`niIni`z"を1文字ずつ0x7とxorを取ってみます。
s = "nidsa|So6tX&tXmRtsXso4XE4`niIni`z"
a = ""
for c in s:
a = a + chr(ord(c) ^ 0b00000111)
print a
このPythonプログラムを実行すると以下のとおり出力されます。
inctf{Th1s_!s_jUst_th3_B3ginNing}
フラグは、
inctf{Th1s_!s_jUst_th3_B3ginNing}
です。



InCTF writeup Sanity Check

Sanity Check

1

Find the flag in the official IRC channel of the CTF.

ircに接続します。
15:15 チャンネルに入りました
15:15 *xxxxxx join #bi0s-ctf (~xxxxxx@yyy.zzz)
15:15 *topic : Welcome to InCTF, https://ctf.inctf.in/ | Flag for Sanity check inctf{w3lc0me_t0_inctf} | The reversing challenge messed up was updated at 23:55 UTC | New hint for liar released
フラグは、
inctf{w3lc0me_t0_inctf}
記事検索
ギャラリー
  • TetCTF 2023 NewYearBot
  • UUT CTF writeup Find The Password
  • UUT CTF writeup The Puzzle
  • Hack Zone Tunisia 2019 writeup Microscope
  • Hack Zone Tunisia 2019 writeup Welcome
  • SwampCTF 2019 writeup Brokerboard
  • SwampCTF 2019 writeup Leap of Faith
  • SwampCTF 2019 writeup Last Transmission
  • CBM CTF 2019 writeup Long road
カテゴリー