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
GETrequest ke API/api/products/<<id_product>>/price

API tersebut menarik untuk dianalisa. Ubah method request dari
GETmenjadiOPTIONSagar nantinya mendapatkan informasi mengenai request method mana saja yang dapat digunakan pada endpoint tersebut. Dari hasil tersebut, didapati informasi bahwa terdapat methodGETdanPATCHyang dapat digunakan untuk endpoint tersebutGET = Mengambil dataPATCH = Untuk update data
Ubah request method menjadi
PATCHdan gunakan extension yang telah diinstal untuk melakukanConvert to JSON
Setelah itu, seperti yang dapat dilihat pada method
GETterdapat data parameterprice, pada request body inputkan parameterpricekemudian inputkan nilai parameter tersebut menjadi“$0”
Dapat dilihat ketika nilai price tersebut diinputkan string menampilkan pesan kesalahan yang memberi tahu bahwa parameter
priceharus diisi dengan bilanganinteger. Maka sekarang inputkan nilai pada parameterpricetersebu dengan integer0untuk mengubah nilai harga produk tersebut
Dan produk pun berhasil berubah menjadi
$0dan lakukan pembelian barang tersebut untuk menyelesaikan tangtangan lab ini


Thanks, Stay Ethical & Happy Hacking! 🍻
Last updated