w3challs reverse captcha writeup

Posted by Fuat Fuçucuoğlu, Writeups, 28 Mayıs 2019

ai_captcha_solver

Görevimiz bir dakika içinde verilen 50 captchanın en az 45 tanesini çözmek. Bunun için deep learning algoritması ile captcha çözen bir python scripti yazdım ve open source olarak Github'ımda paylaştım.(link)

Kod 4 moddan oluşuyor bunlar:

capture_captcha(-f)

  • -f + int: İndirme sayacı(default=1)
  • -l + url: capthca'nın urli
  • -x + xpath: captcha'nın xpath'ı

parse_letters(-p)

  • -p : argumansiz

train(-t)

  • -t + int: train count

attacker(-a)

  • -a + int: salıdırı miktarı
  • -x + xpath: captcha'nın xpath'ı
  • -l + url: captcha'nın urli
  • -c + url: captcha görselinin urli
  • -w + xpath: textbox'ın xpath'ı
  • -b + xpath: butonun xpath'ı

Görsel indirme

python3 main.py -f 10 -l "https://w3challs.com/challs/Prog/captchas/gen_captcha.php?num=0&" -x "/html/body/img"
Bu kodda -f ile capture_captcha modunda 10 kez -l ile verdigimiz urldeki , -x ile verdigimiz xpathteki captchayi ndirir.

Görseli harflerine ayirma

python3 main.py -p
Bu kodla sadece indirdiğimiz captchalari parsedLetters kalasöru içinde harflerine göre ayırdık.

Training

python3 main.py -t 10
Deep learning algoritmasında on kez train ettik. Bu kod sonunda model_labels.dat ve captcha_model.hdf5 dosyaları oluşur.


Gerekli duzenlemeler yapıldığında kod başarıyla çalışıyor.

Referanslar