Jumat, 19 September 2025

Portswigger - Exploiting a mass assignment vulnerability

Analis Siber Purwakarta - Admin. Pada kesempatan ini penulis akan membagikan cara menyelesaikan lab  Portswigger yang berjudul Exploiting a mass assignment vulnerability. Lab ini bertujuan untuk merubah nilai parameter yang tersembunyi yang diakibatkan oleh Mass Assignment.

Langkah pertama ialah masuk menggunakan akun default yang disediakan oleh Portswigger, kemudian jalankan proxy yang sudah siapkan. Setelah itu kita jalankan proses intersepsi, dan pilih produk jaket yang berjudul Lightweight "l33t" Leather Jacket. Pada proses intersepi, penulis menemukan sebuah HTTP Request bermetode GET dengan path /api/checkout, kirim HTTP Request tersebut ke bagian Replay atau Repeater bila pembaca menggunakan Burp Suite proxy.


HTTP API Request yang telah berhasil di intersep
Sumber: Dokumentasi Penulis 


Untuk menguji kerentanan, penulis akan merubah HTTP method dan merubah nilai dari parameter percentage menjadi 100 pada HTTP Body. HTTP Response menunjukan bahwa lab ini memiliki kerentanan Mass Assignment Vulnerability. Pada dunia nyata peretas akan memanfaatkan parameter tersembunyi untuk memanipulasi nilainya untuk kepentingan mereka.


HTTP Request yang sudah dimodifikasi
Sumber: Dokumentasi Penulis

Rabu, 17 September 2025

Portswigger - Finding and exploiting an unused API endpoint

Analis Siber Purwakarta - Admin. Pada Lab Portswigger ini, penulis akan mendemonstrasikan cara menyelesaikan tugas dari seris API Testing yang disediakan oleh Portswigger. Lab yang berjudul Finding and Exploiting an unused API endpoint, memiliki tujuan untuk memanipulasi harga dari sebuah brand baju yang disediakan didalam sebuah API.

Sebelum memasuki lab ini, penulis diberi sebuah materi bagaimana berinteraksi dengan API endpoints ketika melakukan testing pada sebuah API. Cara bagaimana penulis dapat berinteraksi dengan API endpoints tersebut diantaranya adalah:

  1. Mengidentifkasi HTTP Method apa saja yang digunakan oleh sebuah API, dan;
  2. Mengidentifikasi Content Type apa saja yang digunakan oleh sebuah API.
Langkah awal dari pengujian ini adalah penulis akan masuk menggunakan akun yang disediakan oleh Portswigger, setelah masuk menggunakan akun kembali ke halaman awal website. Pada tampilan halaman awal website, pilih produk "Lightweight "l33t" Leather Jacket", perhatikan harga jaket tersebut berjumlah $1337.00.

Penulis akan mencoba untuk mengintersep HTTP Request dengan menggunakan proxy yang telah disiapkan. Terdapat sebuah HTTP Request yang memiliki header GET Method harga dari produk baju tersebut dengan path API berupa /api/products/1/price. HTTP Response dari Request tersebut berisi setidaknya dua variabel bertipe JSON yakni Price dan Message, penulis disini akan memanipulasi harga yang didapatkan dari Price variabel. Sebagaimana diketahui pada materi sebelumnya, kita dapat memanipulasi sebuah API dengan mengganti HTTP Method, dan menambahkan Content Type apa saja yang didukung, dan digunakan pada web yang akan kita tes.


HTTP Request dan Response yang telah diintersep
Sumber: Dokumentasi Penulis

Penulis merubah HTTP method GET menggunakan method PATCH yang bertujuan untuk merubah nilai dari variabel price. Kemudian penulis menambahkan Content-Type: application/json pada bagian terakhir HTTP Header, dan menambahkan value terbaru untuk variabel price dengan menginput JSON {"price": 0} di HTTP Body.


HTTP Request dan Responnya ketika sudah di manipulasi
Sumber: Dokumentasi penulis

Bila penulis refresh laman produk tersebut, maka harga yang sebelumnya $1337.00 menjadi $0.00. Langkah terakhir dari lab ini adalah kita memasukan kedalam keranjang, dan mengorder jaket tersebut dengan harga $0.00 saja,






Senin, 15 September 2025

PortSwigger - Lab Exploiting an API endpoint using documentation

Analis Siber Purwakarta - Admin. Pada kesempatan kali ini penulis akan memberikan sebuah tata cara dalam menyelesaikan lab dari PortSwigger yang berjudul Exploiting an API Endpoint using documentation. Lab ini merupakan sebuah lab simulasi API Testing dari PortSwigger yang menuntut kita untuk menghapus pengguna dari endpoint API sebuah Website.

API atau dikenal sebagai Application Programming Interfaces merupakan sebuah protokol komunikasi yang memungkinkan dua atau lebih piranti lunak agar dapat berkomunikasi satu sama lain. Contoh dari API itu sendiri pada pengembangan aplikasi Website, pengembang aplikasi familiar dengan API RESTful dan JSON APIs, didalam lab ini penulis akan fokus kepada dua API tersebut.

Untuk menyelesaikan lab ini, langkah awal yang penulis lakukan adalah melakukan login menggunakan akun yang telah disediakan, dan melakukan Recon atau pengintaian dimana Path dari API tersebut disimpan. Path API dalam lab ini cukup mudah ditemukan, kita hanya perlu dengan mengintersepsi Request halaman awal Website menggunakan Proxy yang kalian punya, dan merubah Request Header menjadi /api/ dengan GET method HTTP.


Melakukan intersepsi melalui Proxy Caido, dan memanipulasi HTTP Header
Sumber: Dokumentasi penulis

Setelah proses tersebut, kemudian penulis klik kanan pada bagian Response HTTP dan pilih View response in Browser. Tampilan selanjutnya kita akan menemukan sebuah API Documentation. Klik bagian baris Delete dari tabel dokumentasi tersebut, kemudian hapus pengguna yang harus dihapus berdasarkan instruksi awal lab ini. Bilamana user tersebut telah dihapus, maka tantangan dari lab ini sudah selesai dilakukan.