kanyewest CTF

勉強したことをメモしています。

HACON_CTF: Write up

Web

EAsy WEb

f:id:tekashi:20200925141007p:plain

ソースコードをみると

 <!-- <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などでデコードします。

特に署名もないのでそのままデコードできました。

f:id:tekashi:20200925141145p:plain

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