Crackle Checkerlarda API Request/Response İşleyişi
Crackle gibi credential stuffing araçlarında en önemli yapı taşlarından biri, hedef sitelere yapılan API istekleri ve bu isteklere dönen yanıtların doğru yorumlanmasıdır. Bu yazıda, bir checker mantığı içerisinde request
ve response
sisteminin nasıl işlediğini ele alacağız.
🔌 API Request Nedir?
Checker çalıştığında her kullanıcı adı/şifre çifti için hedef siteye bir istek gönderir. Bu istek çoğu zaman bir POST
methodudur ve bir login endpoint'ine yapılır:
POST /api/v1/login HTTP/1.1
Host: example.com
Content-Type: application/json
{
"email": "test@example.com",
"password": "123456"
}
Bu istek Crackle gibi araçlar içinde config dosyalarıyla tanımlanır. Config’te genellikle şu bileşenler yer alır:
Endpoint (URL)
Method (GET/POST)
Headers
Body
(genellikle JSON veya form-data)
API Response Nasıl Yorumlanır?
Hedef sunucudan dönen yanıt checker tarafından analiz edilir. Bu yanıtın içinde kullanıcı bilgilerinin doğru olup olmadığı anlaşılabilir:
{
"status": "success",
"token": "abcdefg1234567"
}
Bu yanıt örneğinde "status": "success"
ifadesi bir “hit” durumudur. Bazı config dosyaları bu değerleri şu şekilde tanımlar:
- Hit Keywords:
token
,success
,user_id
- Bad Keywords:
invalid
,unauthorized
,error
- Retries: Belirsiz durumlar (örneğin sunucu hataları)
Proxy Kullanımı
Aynı API’ye çok sayıda istek yapmak IP banına neden olabilir. Bu yüzden config içinde proxy
sistemi de tanımlanır. Genellikle şu türler kullanılır:
HTTP/S
SOCKS4
SOCKS5
Checker Karar Mantığı
Her bir kombinasyon için gelen yanıt şu şekilde işlenir:
if "token" in response.text:
print("HIT:", user, password)
elif "invalid" in response.text:
print("BAD:", user, password)
else:
print("UNKNOWN/RETRY")