Mimpi Buruk Developer (Kisah IDOR Sederhana Setara dengan $1125)
Halo semuanya. Saya harap Anda baik-baik saja. Ini adalah blog kedua saya, yang menjelaskan penemuan Simple IDOR dan serangkaian perbaikan pengembang yang tidak memadai.
Jadi saya telah mengajukan banyak pertanyaan di Twitter akhir-akhir ini, beberapa di antaranya:
- Seberapa sering Anda kembali ke bug yang dilaporkan sebelumnya?
- Apakah layak untuk mereproduksi laporan tetap?
- Haruskah saya mencoba melewati perbaikan yang diterapkan atau membuang-buang waktu?
Nah, jawabannya besar ya. Anda harus selalu kembali ke laporan untuk melihat perbaikan yang diterapkan oleh program. Luangkan 10 hingga 15 menit untuk membuat ulang masalah untuk melihat detail perbaikan dan coba rekayasa balik perbaikan.
Artikel ini menjelaskan cara menghindari serangkaian perbaikan yang tidak tepat yang diterapkan pada salah satu laporan. Bukan sekali, bukan dua kali, tapi tiga kali.
Target Redacted.com, sebuah perusahaan media terkemuka, memungkinkan mitra untuk membuat berbagai video/kampanye iklan melalui subdomain partner.redacted.com.
Ketika saya melihat permintaan POST ke https://partner.redacted.com/index.cfm?fuseaction=partner.linkcode menggunakan JSON body yang berisi data berikut, di portal mitra Mulai menguji masalah kontrol akses.
{
“affiliateid”:12345,
“campaign_name”:”Tester”
}
Seperti yang diharapkan, permintaan rentan terhadap IDOR dan ID afiliasi bersifat berurutan, sehingga kami dapat mengubah ID afiliasi dan menambahkan atau mengedit kampanye ke akun mana pun. Dampak ancaman yang lebih besar dari ini adalah bahwa pengguna tidak dapat menghapus kampanye setelah ditambahkan. Saya dapat kehabisan kuota berbayar dengan memasukkan data ke dalam daftar kampanye yang tersedia untuk umum.
Timeline:
- Reported: 21-Dec-2021
- Fixed: 09-Dec-2021
- Bounty awarded: $325
Saya memiliki kebiasaan untuk kembali ke report. Kemudian pada bulan Maret, saya mengkonfirmasi ulang bug dan mencoba mereproduksinya. Sayangnya, perbaikan telah diterapkan, ID afiliasi telah dihapus sepenuhnya dari badan json, dan sebagai gantinya, pemeriksaan autentikasi berbasis cookie diterapkan.
Saya tidak menyerah dan mulai melihat file JavaScript. Di sana, saya menemukan domain lain, embed.redacted.com, yang digunakan untuk membuat dan melihat pratinjau kampanye iklan tersemat. Saya mulai menyelidikinya, dan yang mengejutkan saya, saya memiliki opsi untuk menambahkan kampanye baru ke daftar kampanye saya.
Fix Bypass Pertama:
Kali ini, https://embed.redacted.com/builder?affiliateid=[VICTIM_AFFID]&affId=[VICTIM_AFFID_LAST_DIGITS].
Saya mengganti ID afiliasi saya dengan Id Korban dan kembali ke bisnis. Melalui titik akhir pembuat iklan tersemat ini, kami dapat mengabaikan perbaikan sebelumnya.
Hadiah $300 diberikan untuk Bypass Pertama
Timeline:
- Reported: 21-March-2022
- Fixed: 28- march-2022
- Bounty awarded: $300
Fix Bypass kedua:
Setelah perbaikan pertama, halaman tersebut tidak dapat diakses secara publik dan memunculkan kesalahan 403 Forbidden. Apa yang saya perhatikan di sini adalah bahwa halaman kesalahan bukan default server, tetapi halaman 403 khusus dengan hanya satu kata "tolak". Setelah menghubungkan titik-titik, saya dapat melewati perbaikan dalam waktu 10 menit.
OLD Exploit URL:
- http://embed.redacted.com/builder?affiliateid=[]&affId=[]
Hal-hal kecil seperti garis miring dapat berdampak signifikan pada keamanan keseluruhan organisasi Anda. Jalur rentan ini sebelumnya telah diperbaiki oleh pengembang, dan mengakses jalur di atas menghasilkan halaman penolakan 403. Saya dapat melewati perbaikan dengan menambahkan / di akhir jalur, yaitu; /builder/?affiliateId=[VICTIM_AFFID]&affId=[VICTIM_AFFID_LAST_DIGITS]
- Bypassed Exploit URL:
- http://embed.redacted.com/builder/?affiliateid=[]&affId=[]
Perhatikan / di akhir request.
Hadiah $250 diberikan untuk Bypass Kedua
Timeline:
- Reported: 07-June-2022
- Fixed: 13-June-2022
- Bounty: $250
Fix Bypass ketiga:
Setelah dua bulan ini, saya memutuskan untuk meninjau laporan itu lagi dan mulai mereproduksi masalahnya. Saya mulai dengan bypass sebelumnya. Tambahkan /, kali ini adalah Halaman Terlarang 403, tapi sekali lagi ada sesuatu yang masih ikan. Halaman ini tetap menjadi halaman 403 khusus dengan hanya pesan yang ditolak.
Setelah melihat ini, saya mengonfirmasi bahwa pembuatnya tidak dihentikan dan sebagai gantinya beberapa ekspresi reguler digunakan untuk memfilter respons. Setelah 20 menit hit dan upaya, saya dapat melewati perbaikan dengan memanfaatkan nama direktori. Yaitu; dengan memanfaatkan titik akhir dari / builder ke / BUILDER /, saya melewati perbaikan kedua dan kembali ke bisnis lagi.
- Bypassed Exploit URL:
- http://embed.redacted.com/BUILDER/?affiliateid=[]&affId=[]
Hadiah $250 diberikan untuk Bypass Ketiga
Timeline:
- Reported: 02-July-2022
- Fixed:08-July-2022
- Bounty awarded: $250
Saat ini, mereka telah sepenuhnya mematikan pengontrol yang bertanggung jawab atas pembuat tertanam dan tidak dapat melewatinya lagi.
Ini adalah kisah yang mengubah kerentanan IDOR sederhana menjadi mimpi buruk pengembang. Begini cara saya mengubah IDOR senilai $300 menjadi $1125.
Jadi ini dia, saya menikmati melewati perbaikan ini, dan harap Anda menikmati membacanya dan belajar sesuatu yang baru hari ini. Terima kasih telah memegangnya bersamaku :)