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番ポートが使われるらしい。