Banyak orang menyangka asalkan situsnya dijaga captcha, maka spammer tidak akan bisa menembusnya. Padahal ini salah besar! Captcha memang menyulitkan, namun tidak sembarang captcha, bila captcha tidak dibuat dengan benar dan asal-asalan, maka spammer bisa dengan mudah menembusnya.
Captcha Basics
Captcha adalah akronim dari Completely Automated Public Turing test to tell Computers and Humans Apart, yaitu sebuah test/ujian yang “fully automated” untuk membedakan manusia dan komputer. Ujian captcha dibuat sedemikian rupa sehingga teknologi komputer saat ini belum bisa mengerjakan dengan benar, namun manusia bisa dengan mudah menyelesaikan dengan sempurna.
Captcha ini dibuat oleh komputer secara otomatis, namun komputer sendiri sebagai pembuat soal malah tidak bisa mengerjakannya… Aneh!
Umumnya captha berbentuk gambar yang di dalamnya terdapat kode. Kode ini bisa dengan mudah dibaca manusia, namun komputer akan kesulitan membaca kode dalam gambar itu. Dengan cara ini, hanya manusia yang bisa melanjutkan prosesnya, sedangkan komputer/robot akan gagal.
Bagi komputer, sebuah gambar hanyalah kumpulan kode-kode warna dari setiap pixelnya. Dibutuhkan proses yang cukup rumit untuk bisa mengenali objek pada gambar, apalagi untuk memahami arti sebuah gambar. Sedangkan bagi manusia hanya dalam hitungan seper sekian detik kode dalam gambar sudah terbaca.
Selain berbentuk gambar, captcha juga ada yang berbentuk suara. Secara prinsip sama saja dengan gambar, komputer perlu melakukan proses yang rumit untuk mengenali percakapan dalam file suara.
Optical Character Recognition (OCR)
OCR adalah teknologi untuk mengubah gambar menjadi teks. OCR biasanya dipakai untuk mengubah file gambar dari dokumen yang discan menjadi file teks untuk diolah secara digital.
Tidak semua gambar bisa dibaca dengan sempurna oleh OCR. Sama seperti manusia, bila kita membaca buku yang masih baru dan cetakan yang baik, maka mudah bagi kita untuk membacanya. Namun bila buku sudah tua, tintanya sudah pudar dan banyak noda, maka sulit untuk kita membacanya dengan sempurna. Begitu juga dengan captcha, bila captcha mengandung banyak distorsi, kemiringan, variasi ukuran font dan noise, maka OCR akan kesulitan membacanya.
Program OCR yang saya pakai dalam menembus captcha adalah GNU OCR. Seperti program OCR lainnya, GOCR hanya dapat membaca captcha dengan baik bila gambarnya tidak banyak gangguan. Untuk itu biasanya sebelum gambar dilempar ke GOCR, sebelumnya diolah dulu untuk meminimalkan gangguan agar hasil pembacaan GOCR bisa maksimal.
Dalam artikel ini saya akan jelaskan bagaimana captcha bisa ditembus dengan GOCR di sistem operasi Linux. Sebagai contoh saya akan gunakan captcha yang ada di situs sharing Ziddu.com.
Captcha Ziddu.com
Penggunaan captcha pada ziddu sangat vital karena situs ini membayar pemilik file setiap kali ada orang yang mendownload file tersebut. Bisa dibayangkan bila tanpa captcha, maka orang dengan mudah bisa membuat script untuk melakukan download secara otomatis.
Namun dari FAQ yang saya baca, ziddu hanya membayar berdasarkan ip address yang unique dalam satu hari. Jadi bilapun ada script yang bisa melakukan download berulang kali, tetap tidak dianggap selama berasal dari ip address yang sama.
Contoh gambar captcha ziddu antara lain:
Setelah saya cari di google file CaptchaSecurityImages.php ternyata adalah library open source untuk men-generate captcha, namanya PHP Captcha Security Image . Library ini cukup populer dan banyak dipakai di situs luar maupun situs lokal. Situs iklan gratis banyak juga yang pakai captcha ini, silakan cek sendiri.
Kelemahan Captcha Ziddu
Beberapa kelemahan captcha yang dipakai ziddu adalah:
- Objek dan Background Terpisah: Sepintas terlihat captcha ziddu cukup rumit karena banyak gangguan berupa coretan dan bintik-bintik. Namun sebenarnya gangguan itu tidak ada artinya karena terpisah jelas dengan warna yang berbeda cukup kontras. Jadi antara objek dengan background terpisah dengan baik, dengan sedikit pengolahan akan didapatkan gambar yang bersih dari gangguan.
- Tidak adan rotasi, semua karakter horisontal posisinya, tidak ada yang miring ke atas atau ke bawah.
- Font yang monoton dan konsisten.
- Warna yang konsiten.
Persiapan Gambar dengan Utility Convert
Convert adalah utility command line dari ImageMagick yang bisa melakukan berbagai jurus pengolahan gambar, dari yang sederhana hingga yang rumit. Untuk memecahkan captcha ziddu kita tidak perlu jurus tingkat tinggi, cukup operasi sederhana saja. Kita pakai operasi threshold, operasi ini bekerjanya sangat sederhana. Kita hanya perlu menetapkan suatu nilai batas, kemudian semua pixel yang memiliki kode warna di bawah atau di atas nilai itu akan diubah menjadi warna putih atau hitam.
Dari contoh-contoh captcha yang ada terlihat bahwa warna yang paling gelap adalah warna kode, kemudian diikuti dengan warna noise dan yang paling terang adalah warna background. Dengan demikian kita bisa tetapkan warna teks sebagai nilai threshold (batas), kemudian semua pixel yang memiliki warna lebih terang dari itu akan diubah menjadi putih. Dengan cara ini maka yang tertinggal hanyalah warna teks, warna background dan warna noise akan lenyap karena warnanya jadi putih.
Langkah pertama adalah kita harus mendownload gambar captcha yang asli, di URL:
http://www.ziddu.com/CaptchaSecurityImages.php?width=100&height=38&characters=5
Contoh gambar captcha yang asli adalah:
Dengan operasi threshold, gambar tersebut akan diconvert menjadi:
Terlihat jelas gambar kedua lebih mudah dibaca oleh GOCR karena noise yang ada di gambar asli sudah dihilangkan. Perintah untuk melakukan operasi threshold di atas adalah:
$ convert captchatest.jpg -white-threshold 20000 captchatest2.jpg
Opsi white-threshold 20000, itu artinya semua pixel yang nilai warnanya lebih tinggi (lebih terang) dari itu, akan diubah menjadi putih. Hasilnya terlihat bahwa pada gambar ke-2 terlihat noise dan background menjadi putih bersih karena warna background dan noise lebih tinggi dari 20000.
Breaking Captcha dengan GOCR
Kini setelah gambar dibersihkan dari gangguan, telah siap untuk dibaca dengan GOCR. Mari kita lihat kemampuan GOCR membaca captcha yang asli, bila GOCR mencoba membaca gambar yang asli, hasilnya adalah karakter kacau seperti di bawah ini:
$ gocr captchatest.jpg
______r0_ __
_ _ '__,__ _ ___,;
__'_ ____
_ _ _ __ _
?n0_ __ __ 0_,;
_ ___ _t_
Namun setelah diproses dengan threshold, maka hasilnya adalah:
$ gocr captchatest2.jpg
qc32ts
Wow, ternyata hasilnya sempurna. Setelah captcha terbaca selanjutnya terserah anda. Anda bisa melakukan register di ziddu.com dengan script. Ini sangat berbahaya, sebab seseorang bisa mendapatkan komisi dari setiap orang yang register di ziddu bila mendaftar melalui affiliate link. Bayangkan apa yang terjadi bila seseorang membuat robot yang melakukan registrasi dari link affiliate sebanyak 1 juta kali, padahal setiap orang yang mendaftar dari affiliate mendapat $0,1 artinya dia akan mendapat $100,000 atau 1 miliar.
Kesimpulan
Anda telah melihat sendiri betapa mudahnya captcha dijebol dengan software gratisan. Jangan pernah mengira bahwa hanya dengan memasang captcha asal-asalan spammer tidak akan bisa menembus. Pilihlah captcha yang baik dan sulit untuk ditembus.
Banyak situs-situs besar dalam dan luar negeri seperti detik.com, liputan6.com, ziddu.com, feedburner.com yang masih menggunakan captcha yang mudah ditembus. Di majalah underground info saya menulis tentang breaking captcha detik.com untuk mengakali hasil polling. Bahkan captcha detik.com jauh lebih mudah ditembus dibanding captcha ziddu.
wah jadi teringat belajar jaringan saraf tiruan. Menarik sekali!
Sampe saat ini design recaptcha spt nya masih yang paling baik utk captcha
mas, Artikel Nya Menarik sekali .. Boleh saya tulis ulang .. 🙂
Bagus banget mas artikelnya..
Namun apa mungkin membuat script anti-captcha dengan php ya???
mohon pencerahannya….
bisa banget,dalam artikel ini memang saya jelaskan cara breaking captcha secara manual, namun dengan script breaking captcha bisa dilakukan dengan lebih cepat.
Bisa dijelaskan code untuk memecahkan kode captcha tersebut dengan php mas?
atau sudah ada contoh scriptnya mungkin??
Waah ternyata situs sebesar ziddu pun menggunakan sistem pengamanan yang tidak terlalu aman…
Salut dengan mas rizki, saya baru tahu kalau ziddu.com bisa di jebol dengan teknik sederhana dan software free lagi.
Terima kasih mas rizki atas artikelnya yang mencerahkan.terus berkarya
aku juga pernah kpikiran model captcha sperti itu pasti bisa di jebol.. karna noise yang dihasilkan ga terlalu rumit.. dan juga dari karakter ke karakter lainnya linear,tanpa ada perubahan posisi dan bentuk karakter.. tp masih concept aja.. blum di floorkan..:D
thx mas rizki.. bagus artikelnya..
Artikelnya keren mas. Padahal aku dah nyari-nyari ke ujung dunia tentang decaptcha. PWNtcha dah terbukti mecahin banyak kode captcha, cuman gak ngerti cara akses ke subversionnya. Ajarin dong… Pake acara download gak (memori terbatas soalnya :-s)
Btw, kalo mo bikin script breaking captcha apa perlu tahu nama pembuat captchanya? Trus captcha yang textnya rada mirip tapi background color beda, apa itu datang dari source yang beda?
Trus, cara mengaplikasiin scriptnya gimana mas? Buat artikel lengkapnya dongg…
Btw, hasil googling, ini script buat mecahin kode captcha di megaupload:
http://userscripts.org/scripts/review/38736
Tolong dong mas Rizki dibahas untuk memecahkan Captcha dengan menggunakan script php..
thanks..
Menari sekali artikelnya, copy boleh yah…?buat baca-baca…
Lalu bisa dijelasin gak CAPTCHA yang aman tuh kriterianya kaya gimana?
Mas, boleh tahu referensi2 yang dipakai? Makasih
wah,thanks mas..jd nambah pengetahuan nih soal captcha..
MANTAB…!! ternyata ada yg OCR opensource kemarin sempet bongkar pwntcha tp karena dibuat dari C ya jadi agak2 semerawut otak 😀
wahh…
mantab neh…
ada program buat crack captcha yang pakai kalkulasi gak?
misalnya 4 + 1
Mas mohon bantuannya, bisa gak cara diatas diimplementasikan menggunakan dengan script php…? thanks
Salut bro
//// salam hangat
Kenapa harus belajar yg merusak?
Wah kalo banyak orang “pinter” kayak maz rizki bisa ribet juga ya?! Tau cara caranya menjebol captcha tapi ga tau/ga bisa ngasi pencerahan bagaimana caranya pake captcha yang aman, supaya maz rizki sendiri ga bisa menjebol. Salut buat maz rizki yg udah capek2 bikin postingan yg materinya tentang merusak situs orang lain.
Memang merusak itu lebih mudah dan cepat, dibandingkan membuat ide ide yang bermanfaat bagi semua umat.
Saya kira artikel ini bermanfaat…
Seseorang gk akan tahu kesalahannya kalo gk ada orang lain yang menegurnya. Mungkin aja pembuat capthca ziddu.com tidak memikirkan hal tersebut, tapi orang lain dapat memikirkannya.
Thank’s buat rizki yg menulis artikel ini dan rizki” yg lain… jadi tambahan ilmu dan wawasan buat kami
Oon Lo, orang bikin artikel buat ngingetin, di sangka buat ngerusak, kalo smua yang belajar disini dipake buat ngerusak, mungkin gkn ada nama y situs2 besar kaya go0gly.com, Fasebug.com, dh gua haCk twuh sites,
kalo lo bilang ne salah, mana artikel yang lo anggap benar?!
ctctct… salut salut, kapan ya sya bisa secanggih bpk….?
ajarin install softwarenya dong
iya pak, install software nya gimana ?
gi mana cara ngehack sejenis softwere ini..??
maksudnya, software apa?
boleh kursus gak nih, hehehe. nice post master. saya suka sekali jika masih monoton dan jelas, tidak memusingkan otak. trima kasih, salam security.
klo captcha kaskus bisa gak ya ? soalnya textnya gak beraturan, gak kaya ziddu yg masih beraturan textnya
metode ini mengandalkan teknik OCR yang sama seperti ketika scanner mengubah gambar menjadi teks. kelemahannya bila gambarnya tidak jelas hurufnya, tidak akan terbaca dengan sempurna
Terima kasih Tips nya
sederhana sekali mas Rizky…hanya dengan threshold…..mantaps…terimakasih mas rizky…pencerahannya
lha trus cara masukin input string captcha yg udah dibypass ke ziddu gmana ? soalnya klo download di ziddu, tpi klo mw ngambil captchanya lewat http://www.ziddu.com/CaptchaSecurityImages.php?width=100&height=38&characters=5 pasti berbeda dgn captcha yg di page download tdi
keren… sejauh ini biasanya spammer mengakali captcha dengan membayar orang-orang untuk melakukan spamming, namun ternyata ada juga teknologi nya untuk menembus captcha hanya dengan komputer…
baru tau ane kalo kalo captcha bisa di akalin,hehee.. makasih gan infonya