MacVimで日本語が文字化けする
set guifontwide=ヒラギノ角ゴ\ Pro\ W3:h15
KaoriYa MacVimだと何故かこの設定を読んでくれないのでbrew install macvimする。
CSAW 2014 Bin300(1) wololo
アセンブラをゴリゴリ読み続けてあれがこうなって…ってやって調べていくと解けます。
SECCON2014 横浜予選Web Writeup
競技開始 (14:20)
FLAG1 (14:24)
スクリーンショットを撮るWebアプリ
HTML内に背景色と同化したリンクがあることを見つける
しかしlocalhost onlyと表示されアクセスできない。
スクリーンショットで/privateを見るとFLAG1, AdminLogin, ls.txtが見つかる。
改めて/private/FLAG1のスクリーンショットを取るとフラグゲット
SECCON{screenshotFromLocalhost!}
FLAG2 (14:26)
スクリーンキャプチャで/private内を覗くとAdminLoginというフォルダがあるのでアクセスして見るとログイン画面が出てくる。
中身はstrcmpに配列を渡す問題。
山崎さん問題なのにMongoだったらどうしようと思って括弧を入れたらログインできた
?user=aaa&pass[$ne]=aaa
SECCON{strcmpBypass??}
FLAG3 (14:33)
簡単なSQLインジェクションで当然データベースはSQLite。
SQL文が select * from usertbl where (id LIKE '%[id]%');になっているので括弧に注意する。
SQL内の括弧の存在に気づけるかどうかという点で面白い問題でした。
SECCON{IamSqlInjM@ST3R}
FLAG4 (15:14)
スクリーンキャプチャで/private内を読むとls.txtというファイルが見つかるので、
これを更に読むと/***MySSHuserPass.txtがあることがわかる。
このファイルを手に入れるのに少し苦労しました。
Stage3→4へ繋がると思い込んでいたので、FLAG3のあとどこかにローカルファイルを読める脆弱性が存在すると思ってずっと探してました。
見逃しがあるかもしれないと最初のスクリーンショットのページへ行って、スクリーンショットの画像URLを確認してみたところ明らかに怪しい。
http://10.10.10.35/?image=../../../../***MySSHuserPass.txt%00
cedec / secconYkhm
% ssh cedec@10.10.10.35 cedec@10.10.10.35's password: Last login: Thu Sep 4 00:13:20 2014 from 10.10.10.15 [cedec@localhost ~]$ ls FLAG4 [cedec@localhost ~]$ cat FLAG4 SECCON{PathTraversalIsMyFriend}
FLAG5
********チームメンバーとのSSHのプロセスkill対決が1時間くらい行われる。
その後終了20分前くらいに@kazu1130_hがパスワードを変えて********以外全員死亡。
競技終了後に答え合わせをしたらこの問題を解いている人がいないらしいことが判明しました。
答えとしては、
/etc/crontabを読むとPATH=.:/bin/..みたいになっていて、
cronに登録されている/home/FLAG5/myBatch.sh内では
cd /tmp last -20 | grep pts | cut -b23-38 | sort | uniq -c | sort > tmp.tmp
となっているので/tmp以下でFLAG5権限のシェルスクリプトが動く(ということらしい)
cat /etc/crontabはしてPATH=.も見ていたのにコマンドをすりかえる発想がなかったのでだめでした。
SECCON2014 writeup
久々にCTFを本気でやった感じがします。
自分が直接フラグを打って得点した問題はDecode me!と詰将棋?で200ptでした。
あとはXSSのお手伝いとかあみだコードのリファクタリングなんかをしたりごはんをたべたりしました。
詰将棋
CTFで詰将棋っていつだかのお正月の時間を奪っていったアレを彷彿とさせますが、よく見ると普通の詰将棋ではなく、銅、特、平といった見覚えのない駒とその動き方が書いてあります。
普通の詰将棋でも13手詰めはまともに解いたことがないのにいきなりヤバそうな問題を「将棋なら大丈夫だよね」とakiymさんから渡され焦る。
凝視し続けて1時間近く経った頃には脳が最適化されてました。
詰将棋writeup: ▲34銅 △12王 ▲21特 △同王 ▲32平 △12王 ▲22平 △同王 ▲31銀 △33王 ▲43金 △24王 ▲25金
— れっくす (@xrekkusu) 2014, 7月 19
将棋の座標表現で書いてますが、この通りに駒を動かして駒が存在する場所の番号をカンマ区切りで打ち込んでおわり。
SecurityCamp 2014 Web security Write-up
ネットワークセキュリティの問題はかなりWrite-upが上がっているのにWebはそんなに見ないなと思ったので解いてみました。
まずは応募用紙を見てみましょう。
http://www.ipa.go.jp/files/000038877.txt
5. 以下のJavaScriptのコード断片は、とあるWebサイトで利用されていたものです。
これを見て気付いた点について、自由に書いてください。
function getRedirectPageUrl(){ var url = location.hash.substring(1); try{ if( url.length === 0 ) return "/"; url = decodeURIComponent( url ); if( !url.match( /^https?:\/\// ) ) return "/"; }catch( e ){ console.log( "invalid url" ); } return url; } /* .... */ var url = getRedirectPageUrl(); location.href = url;
続きを読む