Hello there, ('ω')ノ
WebGOATのMissing Function Level Access Controlの②を選択して。
下記は、UIが公開していない機能を見つけるためのヒントで。
HTMLまたはJavaScriptのコメント
要素をコメント化
CSSコントロール/クラスによって非表示にされたアイテム
攻撃者や悪意のあるユーザが興味のある2つのメニュー項目を見つけよとのことで。
ソースコードを見ていくとパスと項目名らしきものが。
Users
Config
次に⓷を選択して。
前のページで項目を見つけたら何が起こるかを確認してくださいとのことで。
http://192.168.49.40:8000/WebGoat/users
ちなみに別のタグで、ユーザ登録をしてログインしてみると。
下記のように2Usersに表示が変わって。
もう一つの項目のパスを試してみるとエラーが表示されて。
http://192.168.49.40:8000/WebGoat/config
ユーザ情報を収集するには。
SQLインジェクションなどの脆弱性からデータがダンプされますが。
アクセス制御が不十分であるか、アクセス制御が不足していることも原因だったり。
ということで課題のテーマからアクセス制御が不足している機能を見つけることで。
さきほどのURLを指定して。
http://192.168.49.40:8000/WebGoat/users
右クリックで、Repeaterを選択して。
GOボタンを押すと。
本文のコンテンツなしで送信した後にレスポンスが届くということから推測するに。
各ボタンをクリックしたときにJSONデータが送信されていたこともふまえて。
はじめにJSONリクエストに変更するためにAcceptを変更してGOボタンを実行すると。
何も発見することはできなかったので。
Accept: application/json
次にレスポンスヘッダにあったContent-Typeを追加してHTMLをJsonに変更して。
リクエストの内容を下記のように変更、追加を行ってGOボタンを実行すると。
ハッシュ値が表示されて。
Content-Type:application/json;charset=UTF-8
下記のハッシュ値を入力して。
gxERduOvfQcPGsNvX/y4w281Jt5Xls8pfi4kWNlAZ6U=
Best regards, (^^ゞ