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)HeadersBody(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/SSOCKS4SOCKS5
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")
  