Saya memiliki formulir email situs web. Saya menggunakan CAPTCHA khusus untuk mencegah spam dari robot. Meskipun demikian, saya masih mendapatkan spam.
Mengapa? Bagaimana robot mengalahkan CAPTCHA? Apakah mereka menggunakan semacam OCR canggih atau hanya mendapatkan solusi dari tempat itu disimpan?
Bagaimana saya bisa mencegah ini? Haruskah saya mengubah jenis CAPTCHA yang lain?
Saya yakin email-email itu berasal dari formulir, karena dikirim dari pengirim email saya yang melayani pesan formulir. Gaya hurufnya juga sama.
Sebagai catatan, saya menggunakan PHP + MySQL, tapi saya tidak mencari solusi untuk masalah ini. Saya tertarik pada situasi umum bagaimana robot mengalahkan teknologi ini. Saya hanya mengatakan situasi ini sebagai contoh, sehingga Anda dapat lebih memahami apa yang saya tanyakan.
Jawaban:
Dua cara termudah untuk melewati CAPTCHA:
Gunakan peternakan manusia, yaitu meminta orang untuk mengisi CAPTCHA untuk uang, seperti halnya ProTypers .
Gunakan OCR.
Mungkin juga ada bug baik dalam mekanisme CAPTCHA itu sendiri atau aplikasi sekitarnya, memungkinkan seseorang untuk mem-bypass CAPTCHA.
Omong-omong, artikel W3C Tidak dapat diaksesnya CAPTCHA: Alternatif untuk Tes Turing Visual di Web menjelaskan juga bagaimana CAPTCHA dapat dikompromikan:
Jadi bagaimana Anda bisa mencegah serangan itu?
Jika Anda telah menerapkan CAPTCHA kustom Anda, Anda dapat mencoba untuk pindah ke yang populer, seperti reCAPTCHA .
Ini akan membantu jika CAPTCHA Anda sendiri terlalu mudah untuk OCR, atau jika ada bug yang berhasil dieksploitasi.
Jika Anda menggunakan mekanisme CAPTCHA yang populer, pindah ke mekanisme yang dibuat khusus atau yang populer lainnya mungkin mencegah OCR.
Secara teknis, tidak ada yang akan mencegah peternakan manusia: Anda dapat membuat animasi GIF di mana beberapa bingkai menampilkan teks yang berbeda dengan sangat cepat, dan hanya satu bingkai yang benar-benar terlihat oleh pengguna, Anda dapat mengubah atau menekuk teks ke segala arah atau menemukan cara alternatif baru untuk mencegah OCR dari mengenali teks, masih manusia dibayar untuk memecahkan CAPTCHA akan berhasil menyelesaikannya.
Anda mungkin ingin beralih dari CAPTCHA visual ke suara (jika Anda belum menggunakan keduanya, dan Anda harus), tetapi ini berarti bahwa pengguna dengan gangguan pendengaran tidak akan dapat menggunakan aplikasi Anda.
FrustratedWithFormsDesigner dan GalacticCowboy disebutkan dalam komentar khusus domain CAPTCHA. Saya mencoba menemukan beberapa materi tentang seberapa efektif itu, tetapi tidak berhasil, jadi inilah pendapat pribadi saya:
CAPTCHA khusus-domain bisa sangat menjengkelkan ketika pengguna sebenarnya tidak tahu tentang jawabannya.
Contoh: Saya mengunjungi halaman di situs web yang berorientasi film. Saya melihat ada kesalahan dalam sebuah artikel dan ingin mengomentarinya untuk memberi tahu penulis tentang kesalahan tersebut. Formulir komentar bertanya kepada saya, sebagai mekanisme CAPTCHA, untuk memberikan nama aktris yang ditampilkan pada foto. Saya tidak tahu siapa aktris ini, jadi satu-satunya hal yang dapat saya lakukan adalah meninggalkan situs web (atau menghabiskan dua menit berikutnya menggunakan Gambar Google).
Contoh lain: sebuah situs web meminta sinonim "misterius". Mudah kedengarannya untuk orang yang tidak memiliki gangguan yang berbicara bahasa Inggris dengan lancar, tidak mungkin untuk menyelesaikan tanpa bantuan eksternal untuk orang-orang yang tidak berbicara bahasa Inggris dengan baik atau orang-orang dengan cacat perkembangan, tidak termasuk fakta bahwa menemukan sinonim atau antonim adalah selalu rumit.
Sebagian besar masalah khusus domain tersebut dapat dipecahkan secara terprogram. Kedua contoh yang saya berikan mudah diselesaikan dengan menggunakan sumber daya eksternal (Google Images and Sinonim dictionary). Yang tentang transistor yang diberikan sebagai contoh oleh FrustratedWithFormsDesigner lebih baik, tetapi mungkin masih dapat diselesaikan dengan bot yang dibuat khusus.
Tidak ada yang menentang pertanian manusia.
Entah mereka menghasilkan data, sama seperti teks biasa CAPTCHA menggambar karakter yang terdistorsi, dalam hal ini algoritma pembuatan dapat dieksploitasi sendiri untuk menyetel bot, atau mereka menemukan data di suatu tempat, seperti reCAPTCHA mengambil teks dari buku yang dipindai , dalam hal ini bot dapat gunakan data ini untuk melawannya (misalnya, jika Anda mengambil kata-kata dari kamus, meminta pengguna untuk memberikan sinonim, bot dapat menggunakan kamus yang sama untuk memiliki kesuksesan 100%).
sumber
Menambahkan ke jawaban MainMa ...
Spammer menipu orang lain untuk melakukan CAPTCHA untuk mereka
Pada dasarnya, spammer mengatur situs warez atau situs porno yang tampaknya memiliki CAPTCHA di atasnya, tetapi itu bukan CAPTCHA nyata. Bot menarik CAPTCHA dari situs yang mereka inginkan untuk spam (atau mengeksploitasi), dan kemudian menampilkannya di situs warez atau situs porno di mana seseorang menyelesaikannya untuk mereka. Kemudian nilai CAPTCHA diteruskan kembali ke bot mereka ...
Sedikit lebih banyak tentang Spammer
Saya menggunakan reCAPTCHA , dan saya menemukan bahwa itu pada dasarnya tidak berharga. Saya juga menggunakan filter spam khusus yang menangkap spam yang berhasil melewati reCAPTCHA, dan saya perlu memeriksanya setiap beberapa hari untuk hasil positif palsu.
Forum saya juga semua ditulis khusus dan mendapat lalu lintas yang sangat sedikit. Saya tidak percaya ada yang mengkodekan serangan spesifik ke situs saya. Namun, filter spam saya menangkap pesan spam 2k sehari! Tidak ada yang ditampilkan di situs. Spammer tidak mendapat manfaat dari spamming saya, namun mereka tetap melakukannya.
Saya dapat melihat pola dalam upaya spamming karena saya mencatat semuanya. Saya dapat memberitahu Anda ini: mengesampingkan bagaimana mereka bisa melewati CAPTCHA, spammer jelas menggunakan teknik brute force memvariasikan bidang yang diisi dan jenis data dan campuran kata yang mengisi bidang tersebut. Tampaknya mereka melakukan ini dengan sangat murah (termasuk melewati CAPTCHA) sehingga bahkan tidak membayar untuk melakukan analisis dari masing-masing situs untuk melihat apakah apa yang mereka lakukan atau tidak berfungsi.
Tahun demi tahun, mereka terus menargetkan situs saya dengan ribuan pesan spam sehari hanya untuk mendapatkan satu setiap bulan, dan yang satu akan dihapus secara manual sehari kemudian. Itu murah untuk spam!
Ini akan menjadi pertempuran untuk tahun-tahun mendatang. Khusus untuk situs moderator satu orang kecil seperti milik saya.
EDIT 6/22/2017 : Saya ingin menambahkan bahwa sejak posting ini google telah benar-benar mengubah reCAPTCHA dan pada tulisan ini telah berfungsi dengan sempurna. Meskipun saya curiga ada sedikit positif palsu atau ini menyusahkan bagi pengguna karena pos telah turun sedikit sejak saya menerapkannya. 2 perubahan besar adalah
1) Mereka menggunakan Gambar, bukan teks (Jadi tidak ada lagi OCR)
2) Mereka menggabungkannya dengan aktivitas pengguna di semua situs yang menggunakan reCAPTCHA. Jadi, jika Anda melewati reCAPTCHA di situs A, lalu pergi ke Situs B bahkan mungkin tidak meminta Anda untuk membuktikan bahwa Anda adalah manusia! Juga (saya pikir) jika Anda memukul terlalu banyak reCAPTCHA di terlalu banyak situs, itu juga akan menandai Anda. Saya yakin itu menggunakan jenis AI lain berdasarkan aktivitas pengguna juga.
Saya yakin ini hanya masalah waktu sampai spammer mengalahkan ini juga ...
sumber
Pernahkah Anda mencoba menggunakan captcha kucing-anjing? Saya memiliki forum yang memiliki captcha standar dan mengubahnya dan saya tidak punya spam tamu sejak itu.
sumber
Mungkin saja situs Anda menjadi sasaran tenaga kerja murah yang dieksploitasi dan bahwa manusia secara manual memasukkan frasa CAPTCHA Anda.
Jika solusi yang Anda gunakan tidak terlalu canggih, mungkin penyerang Anda melakukan pengenalan gambar.
Ini juga kemungkinan bahwa Anda memiliki bug di suatu tempat dalam kode Anda yang memungkinkan CAPTCHA dilewati.
Jangan membuat asumsi bahwa robot mengalahkan CAPTCHA Anda. Pikirkan sistem Anda secara holistik dan lihat apakah telah dikompromikan.
sumber
Lainnya telah membahas bagaimana spammer menghindari CAPTCHA. Berikut adalah beberapa tips tentang Bagaimana saya bisa mencegah ini :
Perhatikan tidak ada peluru perak dan spammer tampaknya menjadi 1 langkah di depan permainan. Jadi, Anda harus menggunakan kombinasi beberapa teknik
sumber
Untuk menggemakan jawaban lainnya, Anda kemungkinan menemukan bot yang menggunakan peternakan manusia untuk memasukkan captcha untuk mereka.
Saya baru-baru ini membahas teknik (dan merilis modul Drupal yang menyertainya) yang memblokir bot spam dengan memerlukan JavaScript sisi klien. Sejauh yang saya ketahui, ini telah bekerja dengan efisiensi 100% di semua situs yang telah menggunakan kode ini. Idenya adalah menggunakan AJAX untuk menghasilkan hash unik dan mengirimkannya bersama dengan data formulir lainnya, dan kemudian menghitung hash yang sama di backend setelah formulir dikirimkan, dan membandingkan dua nilai.
Detail lengkap di posting blog saya (kebetulan, karena Anda menyebutkan menggunakan PHP + MySQL, ini adalah teknologi yang sama dijelaskan di sana) - Modul rilis: Badbot; menghilangkan spam ...
sumber
Jika situs Anda adalah twitter, dan seseorang telah menargetkannya secara khusus (daripada bot yang menemukannya) maka Anda dapat berhenti membaca ...
Kalau tidak, mungkin ada baiknya tidak membuat formulir Anda TIDAK terlihat seperti formulir. 1. Jangan memiliki bidang dengan 'email' dalam jenis, nama atau tempat penampung, gunakan nama pendek atau menyesatkan untuk semua bidang. 2. Jangan gunakan elemen bentuk html aktual dan tombol kirim. Alih-alih menggunakan AJAX untuk mempostingnya di klik div normal (ditata agar terlihat seperti tombol). 3. Jangan letakkan acara onclick di html, tambahkan pendengar di JavaScript. 4. Gunakan JavaScript untuk mengisi setiap tips 'masukkan alamat email Anda di sini' karena ada kemungkinan bahwa bot tidak akan benar-benar memicu JS ketika menjaring halaman (tidak yakin tentang yang ini, tetapi saya tetap melakukannya).
sumber