Finding and exploiting an unused API endpoint
Link: https://portswigger.net/web-security/api-testing/lab-exploiting-unused-api-endpoint
Last updated
Link: https://portswigger.net/web-security/api-testing/lab-exploiting-unused-api-endpoint
Last updated
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
menjadi OPTIONS
agar nantinya mendapatkan informasi mengenai request method mana saja yang dapat digunakan pada endpoint tersebut. Dari hasil tersebut, didapati informasi bahwa terdapat method GET
dan PATCH
yang dapat digunakan untuk endpoint tersebut
GET = Mengambil data
PATCH = Untuk update data
Ubah request method menjadi PATCH
dan gunakan extension yang telah diinstal untuk melakukan Convert to JSON
Setelah itu, seperti yang dapat dilihat pada method GET
terdapat data parameter price
, pada request body inputkan parameter price
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 bilangan integer
. Maka sekarang inputkan nilai pada parameter price
tersebu dengan integer 0
untuk mengubah nilai harga produk tersebut
Dan produk pun berhasil berubah menjadi $0
dan lakukan pembelian barang tersebut untuk menyelesaikan tangtangan lab ini
Thanks, Stay Ethical & Happy Hacking! 🍻