Captchasec ile Captcha Güvenlik Testi

Merhaba

Son zamanlarda gerçekleştirdiğim güvenlik testlerinin bir çoğunda captcha mekanizmaları ile ilgili talepler karşıma çıkmakta. Gelen taleplerin arasında da en çok sorulan soru şu ki ; “Captcha’mız kırılabiliyor mu ? ”

Bu soruya doğrudan cevap vermek mümkün değil. Özellikle OWASP v4 checklist’te ki bazı adımları doğrulamak gerekmekte. Bu adımlardan bir taneside captcha olarak sorulan resmin otomatize yazılımlar ( OCR )  ile çözümlenebilme oranı ile ilgili. Her testte tek tek bu hesaplamayı yapmaktan usandım ve işi otomatize etmeye karar verdim.  Böylece captchasec doğmuş oldu.

Captchasec nedir ?

Başlarda kendi işlerimi yapmak adına geliştirdiğim bu küçük bir python uygulaması.

Belirttiğiniz dizinde ki dosyaların içerisinde resim olanları seçip de-captcher.com OCR sunucusuna gönderip image to text işlemi yapmakta. Ardından HTML başta olmak üzere JSON, CSV formatında rapor oluşturmaktadır.

Kurulumu oldukça kolaydır.

Adımlarının uygulanması ile kurulum tamamlanabilir. Klasik bir pentester komut satırı aracı olan captchasec’in kullanımıda oldukça basittir.

PTT’nin kargo sorgulama sayfasında bulunan captcha’dan 20 adet örnek alıp captchasec ile test ettiğimizde ise sonuç aşağıdaki gibidir.

Oluşturduğu HTML raporu ise oldukça basit ve dinamik şekilde graph oluşturmaktadır. Eğer image to text işlemi sonucunda yanlış bir çözüm oluşturulmuş ise is solved ? maddesindeki tick’i kaldırarak graph’ta anlık hesaplamayı etkileyebilirsiniz.

captchasec

 

Neler eksik ?

Şimdilik eksik olan özellikler ve iyileştirilmesi gereken yanları aşağıdaki gibidir. Opensource’a destek olmak adına bu ihtiyaçlardan birini çözüp PR gönderebilirsiniz.

  • Error handling
  • Custom OCR server
  • Fetch captcha images from url.

https://github.com/mmetince/captchasec

  • batuhankatirci

    Selam güzel bir araç olmuş,

    Bence captcha içeren sayfalarda ilk kontrol edilmesi gereken şey hatalı entegrasyonlar.

    Yazılımcı arkadaşların bazıları bu captchaları sadece hatalı bir giriş olduğunda yeniliyor, bruteforce vs. atak senaryoları için bu ‘yeterli’ sayılsa bile data-mining vs. işlerde aktif sessionu koruyarak aynı captcha ile çok sayıda ‘geçerli istek’ yapılabiliyor.

    Buyrun bir örnek video çektim : https://www.youtube.com/watch?v=383zHbiM7pQ