HACON_CTF: Write up
Web
EAsy WEb
ソースコードをみると
<!-- <script> function myfunc() { alert("1"); let uname = document.getElementById('user').value; let ppass = document.getElementById('pass').value; //console.log("uname = ",uname, " pass = ", ppass); let data ={ username: uname, password: ppass } console.log("data = ",data); $.post("/",data) .done(function(result) { alert(result); }) } </script> -->
uname:ppassでログインできるようです。
Okay, here is a hint for you -> eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImtleW1hc3RlciIsInBhc3N3b3JkIjoic2VjcmV0a2V5In0.oJOVw-DOUGSNjGDRWe5_kZm3MAFq_Y9YZa0QyXDbvlM
と出てきます。
JWTなので、jwt.ioなどでデコードします。
特に署名もないのでそのままデコードできました。
{ "username": "keymaster", "password": "secretkey" }
でログインすると
here's your next hint -> syntsvyr
と出力されてとりあえずROT13で変換してみると
flagfile
となるので
/flagfileファイルを見てみます。
<div id="something">HACSEC{Y0u_g0T_I7}</div><div>
Misc
MISC 2
$ cat flag* HACSEC{GoTCHA-AgAiN} HACSEC{BetterLuck next time} HACSEC{Youare too noob} HACSEC{RookiesHEre--Huh!} HACSEC{GOTCHA!} HACON{naoo} HACSEC{NOPESs} Hacon{notyour flag} HACSEC{z1ppppitnice} HACSEC{Flag is not here}
MISC3
$ cd zipv2 $ ls 0 1 2 3 4 5 6 7 8 9 0.zip 1.zip 2.zip 3.zip 4.zip 5.zip 6.zip 7.zip 8.zip 9.zip $ echo 1..9 1..9 $ echo ${1..9} zsh: bad substitution $ cat 0/* HACSEC{Flag is not here} $ cat 1/* HACSEC{GOTCHA!} $ cat 2/* $ cat 3/* HACSEC{GoTCHA-AgAiN} HACSEC{BetterLuck next time} $ cat 4/* HACSEC{RookiesHEre--Huh!} HACSEC{Z1ppv2}
Networking
BAsic
IPPSは631番ポートが使われるらしい。