Finding and exploiting an unused API endpoint
Link: https://portswigger.net/web-security/api-testing/lab-exploiting-unused-api-endpoint
Description:
To solve the lab, exploit a hidden API endpoint to buy a Lightweight l33t Leather Jacket. You can log in to your own account using the following credentials: wiener:peter
.
Preparation:
Install Content Type Converter extension in Burp Suite
Proof of concept:
Lakukan analisa pada web target menggunakan user testing
Dari hasil analisa, mengakses halaman detail produk maka sistem akan melakukan
GET
request ke API/api/products/<<id_product>>/price
API tersebut menarik untuk dianalisa. Ubah method request dari
GET
menjadiOPTIONS
agar nantinya mendapatkan informasi mengenai request method mana saja yang dapat digunakan pada endpoint tersebut. Dari hasil tersebut, didapati informasi bahwa terdapat methodGET
danPATCH
yang dapat digunakan untuk endpoint tersebutGET = Mengambil data
PATCH = Untuk update data
Ubah request method menjadi
PATCH
dan gunakan extension yang telah diinstal untuk melakukanConvert to JSON
Setelah itu, seperti yang dapat dilihat pada method
GET
terdapat data parameterprice
, pada request body inputkan parameterprice
kemudian inputkan nilai parameter tersebut menjadi“$0”
Dapat dilihat ketika nilai price tersebut diinputkan string menampilkan pesan kesalahan yang memberi tahu bahwa parameter
price
harus diisi dengan bilanganinteger
. Maka sekarang inputkan nilai pada parameterprice
tersebu dengan integer0
untuk mengubah nilai harga produk tersebutDan produk pun berhasil berubah menjadi
$0
dan lakukan pembelian barang tersebut untuk menyelesaikan tangtangan lab ini
Thanks, Stay Ethical & Happy Hacking! 🍻
Last updated