Ini merupakan cerita teknis dengan inti bahwa: jika website Anda lemah, pasti akan ada yang menemukan bugnya. Bug ini bisa ditemukan dengan berbagai cara, dan di artikel ini akan saya tulis berbagai caranya.
Google Dorking
Dengan menggunakan Google saja kita bisa menemukan banyak situs lemah. Google dorking adalah memakai parameter advanced di Google. Saya tidak akan memberikan contohnya querynya di sini walau mudah di cari di internet.
Jadi cara kerjanya secara sederhana seperti ini:
- Ada webapp atau plugin atau komponen yang memiliki bug
- Komponen ini memiliki ciri-ciri misalnya urlnya /abc/def/, atau memiliki teks “Powered By”
Dengan query yang tepat, kita bisa mendapatkan daftar semua situs yang memiliki bug seperti itu. Tentunya ini hanya bisa ditemukan jika website diindeks oleh Google.
Banyak perusahaan yang memiliki banyak subdomain yang tidak diindeks oleh Google, namun bukan berarti ini tidak bisa ditemukan.
Skrip Custom
Saya memiliki skrip custom untuk melakukan hal ini secara otomatis pada sebuah domain:
- Scan semua subdomain (saya menggunakan skrip dari aquatone)
- Screen cap masing-masing subdomain (dengan chrome headless)
- Ambil header dari masing-masing subdomain
- Buat laporan dalam 1 halaman
Skrip ini saya jalankan di sebuah server, dan saya berikan list of domains. Tiap hari saya bisa melihat subdomain baru apa yang ketemu dan apa saja isinya. Sistem ini tidak saya buat untuk bug hunting, hanya untuk pentesting supaya lebih tuntas.
Kenapa saya bercerita tentang sistem ini? banyak orang memiliki sistem sejenis. Dengan sistem ini:
- Hampir semua subdomain bisa ditemukan
- Dari tampilan website bisa langsung ditebak apakah ini aplikasi custom atau standar (misalnya aplikasi webmail standar)
- Tampilan header menunjukkan server yang dipakai dan kadang informasi mengenai websitenya (apakah ada WAF, apakah memakai cloudflare, dsb)
- Dari tampila dan website, kita bisa mendapatkan “feeling” apakah website ini lemah atau tidak
Perlu diperhatikan bahwa scanning semacam ini merupakan hal yang legal:
- Pencarian domain menggunakan data publik dan melakukan query word list ke server DNS
- Kita tidak menyerang server sama sekali, hanya melakukan request standar
Jenis Hacker
Ada beberapa tipe hacker di dunia ini:
- Script kiddies yang main hantam saja semua website yang lemah
- White hat yang hanya mencoba menyerang situs yang memang menjadi target (contoh: dalam pekerjaan pentesting atau website menyediakan bounty)
- Gray hat: yang kadang melanggar hukum, tapi tidak berniat jahat (saya nggak mengarang istilah ini, ada di Wikipedia)
Keberadaan gray hat hacker ini menurut saya penting. Adanya orang-orang yang tanpa ijin mengakses website orang lalu memberitahukan masalah security, akan sangat membantu pemilik situs karena jika tidak ada gray hat hacker alternatifnya hanya ada dua:
- Mereka perlu menyewa pentester yang harganya cukup mahal untuk menemukan bug itu
- Mereka akan dihack oleh script kiddies atau blackhat hacker yang tidak peduli sama sekali
Hal yang penting yang perlu diperhatikan adalah: jika situs Anda lemah, pasti akan ada yang menemukan bugnya. Bug bisa ditemukan dengan salah satu cara di atas. Kemungkinan yang menemukannya adalah salah satu dari tiga jenis hacker tadi, dan ada kemungkinan kecil yang menemukan adalah programmernya sendiri.
Lalu bagaimana?
Dari sini ada beberapa hal yang bisa dilakukan:
- Memperkuat security situs Anda, dengan memperbaiki program (source code review, dsb), menyewa pentester, membuat program bug bounty
- Membuat rencana jika terjadi kebocoran data
Jika Anda tidak punya dana untuk pentesting, source code review, dsb maka:
- bersiaplah situs Anda akan dihack
- buatlah rencana jika ada gray hat hacker yang melaporkan bug (bisa sekedar hall of fame, sertifikat, swag)
Om sering nulis2 dong