Lompat ke konten Lompat ke sidebar Lompat ke footer

Panduan untuk Bug Bounty Hunting

white hat

Pola pikir

Jika Anda memulai berburu bug bounty, Anda perlu tahu bahwa akan membutuhkan waktu untuk mempelajari keterampilan berburu serangga. Anda perlu memiliki kesabaran dan tekad untuk terus berburu meskipun Anda mungkin tidak melihat hasil yang berhasil dengan cepat. Bidang bug bounty ramai dan kompetitif, oleh karena itu Anda akan membutuhkan kerja keras, dedikasi, pemikiran lateral untuk bertahan. Berburu adalah tentang belajar dan bertindak sebagai noob sepanjang waktu. Semua orang mulai dari suatu tempat.

Kata Pakar

Dari Tommy (dawgyg) DeVoss: Jika Anda memiliki kemampuan untuk melihat aplikasi web dan memikirkan cara untuk merusak aplikasi, maka Anda dapat mencobanya. Bagi sebagian orang ini bisa menjadi awal yang sangat lambat untuk proses, dan yang lain akan mulai menemukan bug tepat setelah mereka mulai. Satu hal yang sangat penting untuk diingat ketika melakukan bug bounties adalah untuk tidak merasa tertekan / kesal jika Anda membutuhkan waktu lebih lama untuk menemukan bug yang valid, dll. Tidak semua orang akan menemukan bug setiap kali mereka duduk untuk meretas. Dan sangat umum untuk pergi berhari-hari, berminggu-minggu atau bahkan berbulan-bulan tanpa menemukan bug. Jangan membandingkan kesuksesan atau kegagalan Anda dengan orang lain. Karena seperti hal lainnya, akan selalu ada orang yang lebih baik dari Anda, dan orang lain yang lebih buruk dari Anda. Jadi, menetapkan tujuan Anda sendiri dan bekerja untuk mencapainya bisa sangat penting.

Imbalan. Pelajaran dan pengetahuan yang didapat adalah satu-satunya penghargaan yang ada dalam kendali Anda. Jadi jika Anda seorang pemula, Anda harus menetapkan tujuan untuk mempelajari tentang kerentanan dan teknik untuk mengeksploitasinya daripada berapa banyak uang yang harus Anda hasilkan.

Tanggung jawab. Jangan mengungkapkan masalah jika rekanan belum setuju untuk melakukannya.

Belajar

Dasar-dasar Aplikasi Web . Pelajari cara kerja permintaan, header HTTP, permintaan JSON, cara kerja browser, cara mereka berkomunikasi dan mengirim data ke server, DNS, dll. Https://developer.mozilla.org/en-US/docs/Web

Kerentanan ruang lingkup umum. Anda perlu mengetahui kerentanan cakupan umum seperti Remote Code Execution (RCE), Cross Site Request Forgery (CSRF), Cross Site Scripting (XSS), Injections (SQL, Command dll.), Clickjacking, Open Redirects, dll.

Baca blog. Pelajari teknik baru dari pemburu bug bounty sehingga Anda dapat mengujinya selama pengujian.

Jika Anda baru mengenal program Bug Bounty, Anda mungkin tidak merasa yakin bahwa Anda dapat menemukan program publik. Ini adalah sesuatu yang diperjuangkan oleh banyak peretas. Jika Anda belum menemukan banyak kerentanan keamanan, mungkin ada manfaatnya untuk berlatih di Capture The Flag (CTF). Memanfaatkan sesuatu untuk pertama kali itu sulit dan membuka mata. Terapkan struktur yang sama jika Anda akan menerapkannya saat melihat target nyata karena ini membantu Anda membangun fondasi yang kokoh dan akan membantu Anda menjadi peretas yang luar biasa. Gunakan bug bounty sebagai cara untuk memperluas pengetahuan Anda dan bukan sebagai perlombaan. Tulis skrip sederhana dan gunakan alat yang tersedia untuk memperluas proses memperluas permukaan serangan [...] Memahami aplikasi web dan mencari tahu aset apa yang coba dilindungi oleh aplikasi web. Berpikirlah seperti seorang insinyur aplikasi web. (Jobert Abma,

Pelajari cara membuat dan kemudian menghancurkan. Anda perlu mengetahui bagaimana aplikasi web atau seluler dikembangkan terlebih dahulu sehingga Anda dapat memahami cara kerjanya dan karenanya dapat dipecah. Ini bermanfaat untuk perkembangan jangka panjang Anda daripada menjadi pemburu yang hanya tahu cara mengirim muatan (didapat dari internet). Buat beberapa aplikasi web untuk memahami cara kerja arsitektur web.

Dari tweet Spaceraccoon : Terus terang, saya tidak mengotomatiskan. Saya mencoba membangun saluran pipa dan gagal. Anda bisa sukses hanya dengan mempelajari dasar-dasarnya. Lihat akademi web @ PortSwigger, tonton aliran @ NahamSec, baca pengungkapan @ Hacker0x01. Dan pelajari cara membangun apa yang Anda retas.

Strategi Pengujian

Cakupan Pengujian Anda. Anda tidak ingin menguji aplikasi untuk kerentanan yang berbeda secara tidak terstruktur karena ini sering menghasilkan pengujian yang dangkal atau membuat Anda merasa bahwa Anda telah mencari semuanya. Jika Anda terjebak dengan pengujian Anda, tanyakan pada diri Anda sendiri apa yang sedang Anda uji. Tetapkan tujuan SMART - tentukan kerentanan apa yang Anda targetkan, tenggat waktu yang sulit untuk menyelesaikan pengujian, dll. Strategi ini akan membantu Anda mengetahui sumber daya mana yang harus dicari dan pertanyaan spesifik untuk diajukan kepada rekan Anda. Anda juga dapat memprioritaskan apa yang harus dicari berdasarkan tujuan.

Example of a goal: For the next 4 hours, I will test on feature X for SQL Injection.

Memilih program dengan Larger Scope. Anda ingin memilih program yang menggunakan sesuatu yang Anda kenal. Jika tidak, maka Anda harus bertanya pada diri sendiri apakah ini sesuatu yang ingin Anda pelajari. Cakupan yang lebih luas lebih baik karena peneliti tidak akan berkonsentrasi pada target yang sama dan beberapa hal mungkin terlewatkan.

Dari Tommy (dawgyg) DeVoss: Ketika memilih program untuk memulai, ada beberapa hal yang perlu dipertimbangkan. Yang pertama, dan yang paling penting, adalah memilih program yang menggunakan jenis stack / arsitektur yang mungkin Anda kenal, atau memiliki keinginan untuk belajar dan menyerang [...] Selanjutnya Anda akan mempertimbangkan ruang lingkup. Ketika saya melihat sebuah program untuk memutuskan apakah saya ingin menghabiskan waktu untuk itu, saya mencari program dengan cakupan besar (seperti domain kartu liar, dan lebih banyak domain lebih baik) atau dengan aplikasi web yang sangat kompleks. Saya pribadi menyukai cakupan yang luas, karena ini membantu menyebarkan sedikit peneliti.

Uji vektor serangan yang tidak umum. Ini mengharuskan Anda untuk melakukan pekerjaan yang lebih mendalam dalam memahami cara kerja aplikasi (dalam hal teknologi dan fungsi bisnis). Tanyakan pada diri Anda apakah bug yang Anda cari sudah diuji secara otomatis oleh pemindai konvensional. Misalnya, jika Anda menguji muatan XSS normal pada vektor serangan umum seperti kotak input, dll., Kemungkinan banyak pemburu telah melakukannya. Tanyakan pada diri Anda apakah ada cara lain untuk memicu muatan XSS dalam vektor serangan yang tidak terduga.

Dari Inti: Kasus tepi seperti itulah yang saya suka. Jika saya punya rahasia, itu dia. Jangan melihat ke mana semua orang mencari, karena Anda akan mendapatkan duplikat [...] Saran saya: jika Anda seorang peneliti dan ingin mengamankan pembayaran Anda untuk 5-10 tahun ke depan, mulailah mencari bug khusus, kelemahan logis, dan hal-hal lain yang tidak diperhatikan oleh pemindai atau peneliti lain. Itu dapat membawa dampak yang lebih besar, Anda akan menemukan jenis kerentanan baru, Anda bisa mendapatkan acara pembicara, menulis posting blog tentang itu, peluang banyak. Ini lebih tentang pola pikir Anda dan berpikiran terbuka untuk mencoba hal-hal bodoh atau sesuatu yang tidak diketahui dan tidak mengikuti daftar periksa.

Cari bug yang berdampak. Coba kirimkan bug yang berdampak dan mudah dipahami. Pilih kualitas daripada kuantitas. Banyak pemburu yang berhasil membaca kebijakan program terlebih dahulu sebelum mereka mulai mencari kerentanan.

Lakukan tindakan yang tidak terduga Jangan mengirimkan apa yang diharapkan oleh aplikasi. Sebaliknya, mulailah memikirkan hal-hal yang tidak dipertimbangkan oleh pengembang.

Dari Peter Yaworski:

Untuk editor teks, jika Anda dapat menyisipkan html, coba gandakan atribut html, seperti dua href dalam tag jangkar, atau tanda kutip tambahan seperti contoh penurunan harga.

Saat mengirimkan formulir, gunakan alat atau proxy untuk menghapus parameter (untuk Firefox, tamperdata adalah yang terbaik). Pada catatan yang sama, jika situs menggunakan JavaScript untuk memvalidasi input sebelum dikirim ke server, gunakan proxy untuk mengubah nilai setelah divalidasi jika pengembang hanya mengandalkan JavaScript.

Menggabungkan langkah-langkah untuk menciptakan kerentanan. Sekali lagi, dengan contoh penurunan harga Hackerone, memiliki tanda kutip tunggal yang menggantung dikombinasikan dengan html tambahan nanti di halaman dengan tanda kutip tunggal akan menciptakan kerentanan. Dengan program Google, mereka menyertakan pengganda di mana jika Anda memerlukan banyak langkah dan Anda benar-benar dapat menunjukkan bahwa semua langkah dapat dicapai, mereka akan meningkatkan hadiah Anda.

Pertimbangkan di mana kerentanan sebenarnya muncul. Misalnya, program pengungkapan Shopify menyatakan bahwa itu mengecualikan kerentanan di toko atau keranjang Anda sendiri (saya belajar dengan cara yang keras dari kegembiraan yang berlebihan ...). TAPI, beberapa bidang yang digunakan untuk membuat toko Anda juga digunakan secara eksternal. Ada laporan pengungkapan yang menunjukkan bahwa bidang pemformatan mata uang diizinkan untuk injeksi XSS. Pada pandangan pertama, Anda akan mengira ini muncul di halaman toko jadi siapa yang peduli. TAPI, Shopify menyediakan integrasi dengan Facebook dan Twitter menggunakan bidang yang sama dan benar-benar memberikan XSS yang menghasilkan hadiah $ 500

Posting Komentar untuk " Panduan untuk Bug Bounty Hunting"