I wanna be the Admin
でもguestから始めよう!
0.使うツールについて
ここでは「Burp Suite Community Edition」を使用しますが、インストールのやり方などの説明は致しません、その代わりにこの記事を参考にインストールしましょう。![]()
↓
Burp Suiteの使い方
1.問題のサイトの挙動確認
loginの挙動
・まずburp suiteで問題のサイトにアクセスし、guestでログインしてみる。


・burpを見てみるとusernameとpasswordが丸見えでやり取りされていて、サイト上ではinvalid credentialsとエラー画面が出ている。

registerの挙動
・次にサイトにあるRegisterをやってみると、burpにはloginの時のusernameとpasswordに加えてnicknameが追加でやり取りされている。そしてサイトにはHello aaa(aaa)と書かれていてroleがguestとなっている。



2.解法・解答
問題のファイルのindex.jsを見てみると、
users.set(user_data.username, {
role: "guest",
...user_data,
});
とあり、user_data(POSTされた全パラメータ)をそのまま展開していることが見てわかる。
つまり、Register時に「role=admin」を送信すれば上書きできるので、Burpで「&role=admin」を追加してサイトを更新すると、


となって、サイトにFlagがでてくる。