PicoCTF2021
Contents
picoCTF 2021 に @Satoooon1024さんと @miso_2324さんと一緒にPui-Pui-CTFerとして参加して、世界: 11位、日本: 1位 でした。
どのように解いたか書いてみます。
URLからポート番号消してるので、注意
Web
Who are you?
|
|
|
|
これはとても記憶に残ってるのでwriteupとして残しておきます。
ヘッダに次々追加していけば次のステップへといけるんですが、Swedenからアクセスしろという司令だけ何をしても通りません。👇地獄の総当りw
|
|
azureのVMでノルウェーからアクセスしたり、変なopenvpnでSwedenからアクセスしたりしましたが無理でした。
色々試していると(色々って1週間だぜ、ヤバイだろ)Sweden.seのIP addressをX-Forwarded-Fprに入れたら通りました。
まとめ
|
|
X marks the spot
|
|
|
|
username, passwordの欄のどちらも'に反応します。
cookieがPHPSESSID=07vik3l3efg925bifu0j36pa5f なのが気になる
ヒントがXPATHなので、xpath injectionっぽいなと思い、調べます。 https://book.hacktricks.xyz/pentesting-web/xpath-injection と https://owasp.org/www-community/attacks/XPATH_Injection をガアガア見て考えます。
x' or 1=1 or 'x'='y, admin' or ', guest' or ' でサイト上部にyou're the right pathが表示されます。
あとは頑張って調べたことをまとめます。
|
|
Forensic
悪名高きforensic。今回も名前に負けない問題が多くてとても手強かったです。
information
|
|
|
|
catとかstringsとかしても出なくてあれれとおもいながらexiftoolで出ました。
|
|
たぶんLicenseがflagだと思います。
Matryoshka doll
|
|
|
|
foremostしてたらflagがでました。
MacroHard WeakEdge
|
|
|
|
DEFCONのyoutubeに動画があり、そこでoletoolsっていうのを使っていたのでまねしたらflagが出ました。
Trivial Flag Transfer Protocol
|
|
|
|
file export tftpして、bmp3個とテキストファイル2個とprogram.debが与えられます。
debにsteghideがあるので、何かパスワードが有るのかもしれないと思い、
1つ目のbmpに対してsteghideを使いました。パスフレーズも色々試しましたが全部だめでした。
planに書いてあるI USED THE PROGRAM AND HID IT WITH DUE DILIGENCE. CHECK OUT THE PHOTOSのDue DiligenceはDDと省略できるのでbinwalkで色々みつかるpicture2に隠れているのではないかと思い色々してもだめでした。
結局、picture1, picture2は囮で、picture3が本命、DUEDILIGENCEがpassphraseでした。うーーん
Disk, disk, sleuth!
|
|
|
|
stringsで答えが出ます。
Milkslap
|
|
|
|
zstegで答えが出ます。
Disk, disk, sleuth! II
|
|
|
|
stringsでは答えが出ませんでした。悲しいね。
autopsyでdown-at-the-bottom.txtを見るとflagがありました。
Surfing the Waves
|
|
|
|
これも解くのに1週間かかりました💢。 これは開催中にチームで共有していたメモに結構詳しく書いているのでそのまま貼っときます。
問題文のLook deep below the surfaceは何?
fftした後の斜め線を消せばどうにかなるのかと思ったがそうでもなかった。
audacityでスペクトログラム表示して見ても特に…
ノイズを消しすぎるとピーという一つの音になる
fftすると明らかに怪しいので間違って無いはず
fft
|
|
fftして出てきた斜め線を消す(below the surfaceのつもり)
|
|
実は斜め線を消した写真の下にも斜め線があって……
違う気しかしない
でも、問題文の内容には当てハマってるきがするんだよね
公式のdiscordを眺めているとaudacityでいけると言われてる
ほうほう(本当か?)
真ん中より上にしか波無いのは異常?
同じ波形がいくつも並んでる(気がする)
っぽいwriteup
https://ctftime.org/writeup/11405
https://ctftime.org/writeup/21167
ダイヤルアップみたい!?
確かにこれの最後の方とすごく似ている
https://www.youtube.com/watch?v=WflkFUY9pHI
|
|
|
|
値が500n+9ずつに分散している。 –> 以下に頻度を示す(2つとも書き方が違うだけで同じ)
|
|
|
|
4000代が異常に多い
このwriteupが参考にな るかも? った。discord見て、似たような問題のwriteupが有ると言われなかったら解けなかった。
https://ctftime.org/writeup/21370
wavのdataを2つずつ見ると、(前, 後, 前, 後, …と並んでるとする)
|
|
|
|
でも1のくらいが変化するのに丸めたらダメか…?
what other kinds of waves are there?
答えでた
|
|
出力
|
|
途中までdiscord見ずに解いてたので それが普通では? 迷走していました。
その他
競技中にforensicが嫌になって違う分野を少し解いてました(チームメイトが既に解いてるので点数の加算は無し)。pwnとrevは落ち着いて解きたいのでwebとcryptoをしてました。
そのなかで解法が複数ありそうなwebの問題があったので一応自分の解き方を書いておきます。
(4/8追記)他の人のwriteupを見ていると解き方が違うけど、チームメイトとは一緒で面白いな
Web
Web Gauntlet 2
|
|
|
|
'を入れるとバグります。
SELECT unsername, password FROM users WHERE username=''' AND password='a'とFilters: or and true false union like = > < ; -- /\* \*/ adminらしいです。
これを見ると https://github.com/w181496/Web-CTF-Cheatsheet substrでどうにかなりそうです。
name: '||substr(, pass: 'admi',-4)||'n
Web Gauntlet 3
|
|
|
|
Web Gauntlet 2と全く同じので通りました?何がしたかったんだ???
感想
picoCTFは部活で2回参加していて始まる前からクソ問がとても多いと知っていました。
あまりクソ問を解きたいとは思わないのですが、解くのにすごく時間がかかるので(そりゃ総当りなんだから)、最初にmiscやforensicに取り掛かりました。
初日、朝早くからチームメイトは頑張ってるなと思いながらgeneral skillを解きました。 酷いguessもなくforensicに移り残りの時間全てをforensicに捧げました。ついでにSwedenもやりました。
forensicしか解いてないとやった感が出ないので、チームメイトが解いているのを見ていて面白そうだなと思った問題を解いていきたいな。
Author d4wnin9
LastMod 2021-04-01