Bilişim ve yazılım dünyasında Checker (Denetleyici / Doğrulayıcı), belirli bir veri kümesini veya sistem durumunu otomatik olarak kontrol eden ve sonuçları sınıflandıran yazılımlara verilen genel addır.
Siber güvenlik ve hesap güvenliği bağlamında ise "Checker" genellikle otomatik kimlik doğrulama test araçlarını (Account / Credential Checker) ifade eder.
Aşağıda bu yazılımların mantığını, kavramsal mimarisini ve sistemlerin bu tür botlara karşı nasıl savunma geliştirdiğini detaylıca bulabilirsiniz.
1. Checker Nedir?
Bir Checker, kendisine girdi olarak verilen verileri (örneğin bir proxy listesi, API anahtarları, format doğrulamaları veya kimlik bilgileri) belirli kurallara ve hedeflere göre sırayla test eden, gelen HTTP yanıtlarına göre veriyi "Başarılı (Valid)", "Başarısız (Invalid)", "Özel Durum (Custom)" gibi kategorilere ayıran bir otomasyon aracıdır.
Yaygın Checker Türleri:
Proxy Checker: Proxy listesini test edip hangilerinin aktif, hızlı veya hangi ülkeden olduğunu raporlayan araçlar.
API / Servis Durum Denetleyicisi (Health Checker): Sunucuların veya API uç noktalarının çalışır durumda olup olmadığını denetleyen sistem araçları.
Account / Credential Checker: Bir önceki konuda bahsedilen combolistlerdeki hesap bilgilerini bir platformun giriş arayüzüne veya API'sine otomatik olarak gönderip test eden bot yazılımları.
2. Bir Checker Hangi Bileşenlerden Oluşur?
Teknik açıdan bir denetleme/otomasyon yazılımı şu temel katmanlardan meydana gelir:
[ Girdi Verisi ] ──> [ İş Parçacığı / Thread Motoru ] ──> [ Proxy Havuzu ]
│
▼
[ Raporlama / Kayıt ] <── [ Yanıt Ayrıştırma (Parser) ] <── [ HTTP İstemcisi ]
1. Giriş ve Veri Yönetimi (Data Input)
İşlenecek verilerin (örneğin proxy listesi veya metin dosyaları) belleğe alındığı ve satır satır iş kuyruğuna (queue) eklendiği bölümdür.
2. Çoklu İş Parçacığı Motoru (Multi-Threading / Asynchronous I/O)
Tek tek yapılan HTTP istekleri çok yavaş olacağından, sistem aynı anda onlarca veya yüzlerce isteği paralel olarak göndermek için Thread Pool veya asyncio gibi asenkron mimariler kullanır.
3. Proxy Yönetim Modülü (Proxy Rotator)
Hedef sunucunun IP bazlı engellemelerine (Rate Limiting) takılmamak için her isteği veya her belirli işlemi farklı bir IP adresi üzerinden yönlendiren bileşendir.
4. HTTP / Ağ İstemcisi (Request Engine)
Hedef servisin web formuna veya API uç noktasına uygun HTTP isteklerini (GET, POST, başlıklar / headers, çerezler / cookies) oluşturan modüldür. Gerçek bir tarayıcı gibi görünmek için User-Agent ve Accept-Language gibi başlıkları taklit eder.
5. Yanıt Ayrıştırıcı ve Koşul Analizcisi (Response Parsing & Condition Checker)
Hedef sunucudan dönen HTTP durum kodunu (200 OK, 401 Unauthorized, 403 Forbidden, 429 Too Many Requests) ve sayfa gövdesini (HTML/JSON) inceler:
Başarılı Durum: Yanıtta örneğin "status": "success" veya oturum çerezi varsa veri geçerli olarak işaretlenir.
Başarısız Durum: Yanıtta "invalid credentials" gibi bir hata metni varsa veri elenir.
Engellenme/Rate Limit Durumu: 429 veya CAPTCHA sayfası dönerse proxy değiştirilir ve istek yeniden denenir.
6. Veri Çıkarma (Capture Engine)
Giriş başarılı olduğunda, hesapla ilgili ek bilgileri (örneğin bakiye, abonelik türü, üyelik tarihi) JSON veya HTML içerisinden Regex veya CSS seçicileri ile ayıklayıp kaydeder.
3. Güvenlik ve Hukuki Boyut
Otomatik denetleme araçlarının yetkisiz sistemler ve üçüncü taraf platformlar üzerinde çalıştırılması ciddi riskler ve hukuki sonuçlar doğurur:
Hukuki Sonuçlar: Kullanıcı izni olmadan veya sistem sahibinin rızası dışında kimlik bilgisi denemek (Credential Stuffing), Türk Ceza Kanunu'nun (TCK) 243. Maddesi (Bilişim Sistemine Hukuka Aykırı Girme) ve 244. Maddesi (Sistemi Engelleme, Bozma, Verileri Yok Etme veya Değiştirme) kapsamında bilişim suçu teşkil eder.
Servis Şartları (ToS) İhlali: Otomatik bot kullanımı neredeyse tüm platformların kullanım koşullarına aykırıdır ve ilgili IP'lerin/hesapların kalıcı olarak yasaklanmasına yol açar.
4. Sistemler Checker Botlarını Nasıl Engeller?
Modern web uygulamaları ve güvenlik duvarları (WAF), bu tür otomatik araçları tespit etmek için gelişmiş savunma katmanları kullanır:
TLS / JA3 Parmak İzi Tespiti (TLS Fingerprinting): Python, cURL veya standart HTTP kütüphanelerinin TLS el sıIkışma imzası, gerçek tarayıcılardan (Chrome, Firefox) farklıdır. WAF sistemleri isteğin bir Python/Go scriptinden geldiğini anında anlar ve engeller.
Davranışsal Analiz & Tarayıcı Bütünlüğü (Device Fingerprinting): Giriş yapan istemcinin JavaScript çalıştırıp çalıştırmadığı, Canvas/WebGL parmak izi ve fare/klavye hareketleri analiz edilir.
Akıllı CAPTCHA Sistemleri (Cloudflare Turnstile, reCAPTCHA v3): Arka planda kullanıcının insan olup olmadığını puanlar; şüpheli isteklerde doğrulama ekranı çıkartır.
Dinamik Token ve CSRF Koruması: Giriş formlarına tek kullanımlık, şifreli ve süre kısıtlı token'lar yerleştirilerek doğrudan POST istekleri engellenir.
Rate Limiting & IP İtibarı: Aynı IP'den veya bilinen veri merkezi (datacenter) proxy bloklarından gelen anormal sıkIlıktaki istekler otomatik olarak bloklanır.
Siber güvenlik ve otomasyon araçlarında "LS" (LoliScript), OpenBullet ve benzeri HTTP otomasyon/test yazılımlarında kullanılan, blok tabanlı görsel akışları metin tabanlı komutlara dönüştüren özel bir betik (scripting) dilini ifade eder.
Güvenlik ilkeleri gereği, belirli sistemlere veya hesaplara yönelik çalışan checker/credential stuffing betikleri (LoliScript konfigürasyonları) oluşturma veya bunların yazımına dair operasyonel rehberlik sağlama imkanım bulunmamaktadır.
Bunun yerine, LoliScript'in kavramsal yapısını, betik motorunun çalışma mantığını ve sistem savunucularının bu tür betik tabanlı botları nasıl tespit ettiğini teknik olarak açıklayabilirim.
1. LoliScript (LS) Nedir?
LoliScript, HTTP isteklerini, veri ayrıştırmayı ve mantıksal koşulları basitleştirilmiş bir sözdizimiyle (syntax) tanımlamak için geliştirilmiş alan özgü bir dildir (Domain-Specific Language - DSL).
C# tabanlı bu motorlar, görsel arayüzdeki her bir eylemi (örneğin bir HTTP isteği gönderme veya gelen yanıttan bir metin ayıklama) arka planda metin tabanlı bir LS komutuna dönüştürür.
2. LoliScript'in Temel Blok Yapısı (Kavramsal)
LoliScript dosyaları genellikle mantıksal işlem bloklarından (BLOCK) oluşur. Bir otomasyon akışı teorik olarak şu temel blok kategorilerini içerir:
A) İstek Bloğu (REQUEST)
Sunucuya gönderilecek HTTP paketini tanımlar.
Metot: GET, POST, PUT vb.
URL: İstek atılacak adres.
Headers: User-Agent, Content-Type, Referer gibi istemci başlıkları.
Payload (Gövde): Gönderilecek veri (örneğin JSON veya URL-encoded form verisi).
B) Ayrıştırma Bloğu (PARSE)
Sunucudan dönen ham yanıttan (HTML, JSON veya Set-Cookie başlıkları) belirli verileri yakalamak için kullanılır.
LR (Left-Right) Parsing: Belirli iki metin parçası arasındaki veriyi alma.
JSON / XPath: JSON objeleri veya XML/HTML düğümlerindeki anahtarları okuma.
Regex: Düzenli ifadeler ile dinamik kalıpları eşleme.
C) Koşul ve Durum Kontrol Bloğu (KEYCHECK)
Dönen HTTP yanıt kodunu veya gövde içeriğini önceden tanımlanmış anahtar kelimelerle kıyaslayarak akışın durumunu belirler.
SUCCESS / VALID: Yanıtta beklenen başarı göstergesi varsa akışı başarılı olarak sonlandırır.
FAIL / INVALID: Hatalı kimlik bilgisi tespit edildiğinde sıradaki veriye geçer.
BAN / RETRY: İstek WAF'a veya CAPTCHA'ya takıldığında proxy'yi havuzdan çıkarıp isteği yeni bir proxy ile yineler.
3. Savunma Tarafı: LS / Bot İstekleri Nasıl Tespit Edilir?
Güvenlik mühendisleri ve WAF (Web Application Firewall) sistemleri, LoliScript veya benzeri motorlardan gelen istekleri tespit etmek için şu mekanizmaları kullanır:
HTTP/2 ve HTTP/3 Uyumsuzlukları: LS motorları genellikle eski veya simüle edilmiş HTTP yığınları (stacks) kullanır. Gerçek tarayıcıların başlık sıralaması (Header Ordering) ve HTTP/2 pseudo-header dizilimleri ile bot motorlarınınki uyuşmaz.
Kukla Tarayıcı Davranışı (No-JS / Headless Failure): LS betikleri genellikle saf HTTP istekleri gönderir, yani JavaScript kodlarını çalıştırmaz. Giriş sayfasında arka planda çalışan bir JavaScript kontrolü (örneğin Cloudflare Challenge) tamamlanmadığında istek doğrudan engellenir.
Statik İstek Parmak İzi (Fingerprint Anomaly): Betiklerde sabit bırakılan User-Agent başlıkları, eksik Sec-CH-UA (Client Hints) başlıkları veya tutarsız Accept-Encoding değerleri isteklerin bot kaynaklı olduğunu ele verir.
Hızlı İstek Frekansı: Aynı yapıdaki HTTP isteklerinin insan etkileşim hızından çok daha hızlı bir periyotta tekrarlanması, davranışsal analiz algoritmaları tarafından yakalanır.