Güvenilir Olarak CAPTCHA Yapılandırılması

Yayınlayan
Adem Kanat
Yayınlanma tarihi
26-02-2022
Okuma süresi
10 DK

Güvenilir Olarak CAPTCHA Yapılandırılması

 

Form gönderme işlemlerinde otomatize araç kullanımlarının ve kaba kuvvet saldırılarının önüne geçilmesi adına CAPTCHA kullanımı genel bir güvenlik önlemi olarak kullanılmaktadır. CAPTCHA’ların yanlış yapılandırılması nedeniyle siteler form alanlarında kaba kuvvet saldırıları, SMS ve mail flood saldırıları gibi hizmet kaynaklarının gereksiz kullanılmasına ve bütünlüğün bozulmasına neden olmaktadır.

Doğru Bir CAPTCHA Nasıl Yapılandırılır?

Örnek bir giriş formunu ele alırsak işleyiş kabaca şöyledir;

  • Kullanıcı giriş bilgilerini doldurur, CAPTCHA’yı doldurur ve formu gönderir. Arka planda eğer CAPTCHA doğru çözülmüş ise sonraki kontrol adımına (kullanıcı adı ve parola kontrolü gibi) geçer ve süreç ilerler.
  • Eğer CAPTCHA bilgisi yanlış ise tekrar bir CAPTCHA oluşturulup süreç başa döner.
Güvenilir Olarak Yapılandırılmayan CAPTCHA

CAPTCHA kullanımı otomatize işlemlerin yapılmasının engellenmesi, kötü niyetli kişilerin otomatize araç kullanmasını zorlaştırmak amacıyla kullanılmaktadır. Güvenilir olarak yapılandırılmayan CAPTCHA kullanımları alınan güvenliği geçersiz kılmaktadır.

CAPTCHA Değerinin Metinsel İfadeye Çevrilebilmesi

Bir form alanı geldiği zaman gelen CAPTCHA değeri metinsel ifadeye çevrilip sanki CAPTCHA yokmuş gibi otomatize bir şekilde işlem yapılabilmektedir.

Örnek olarak karşımıza gelen bu CAPTCHA değerinin metinsel karşılığını tesseract aracıyla çevirebiliriz.

Matematiksel işlemler ile elen CAPTCHA değerlerinde ise aynı şekilde sayıları ve işlem değerini alıp işlem yapılır.

CAPTCHA Değerinin Ön Tarafta Kontrol Edilmesi

Forma alanı doldurulurken CAPTCHA değerinin boş bırakıldığı zaman “CAPTCHA değerinin girilmesi gerekmektedir.” tarzında bir hata ile CAPTCHA değerinin boş bırakılması engellenmiştir.

Genelde kontrollerin ön yüz tarafında yanlış yapılandırılma sonucu CAPTCHA kontrolü olmaksızın işlem yapılabilir. En sık karşılaşılan yapılandırma hatası

HTML kodlarındaki tarafındaki required parametresidir.

(Required = Form elemanının gönderimini zorunlu tutmak için eklenir. İlk olarak kullanıcı tarafında kontrol edilir. Eğer server tarafında kontrol edilmezse işe yaramaz.)
Bundan dolayı form gönderme işlemi yapılırken doldurulması gerekmektedir. Fakat sunucu tarafında gelen CATPCHA değeri doğru kontrol edilmediğinden Proxy ile araya girip CAPTCHA değerini sunucuya göndermediğimiz zaman bir hata ile karşılaşılmamaktadır. CAPTCHA değeri kontrol edilmeden işlem gerçekleştirilebilmektedir.

Bir diğer yöntem olarak Geliştirici seçeneklerini kullanarak form elamanını Disable edilip kontrolden kaçılır.

CAPTCHA Değerinin Decode Edilmesi

En çok karşılaşılan diğer yapılandırma hatası basit algoritmalarla CAPTCHA oluşturulmaya çalışılmasıdır. CAPTCHA değeri client tarafında (Javascript vb. dilleri kullanarak) oluşturulduğu zaman kötü niyetli kişiler ilgili algoritmayı kullanarak kendileri otomatize araçlara ek olarak decoder vb. şeklinde araçlar yazarak CAPTCHA korumasını bypass edebilir.

Bu durumda CATPCHA değerinin karışık ve güçlü algoritmalar kullanılarak hazırlanması ve bu işlemin server (back-end) tarafında yapılması gerekmektedir. Ek olarak CAPTCHA gösterimi sırasında çeşitli yöntemlerle gösterimi zorlaştırarak görüntü işleme vb. araçların kullanılmasını zor, hatta imkânsız hale getirmek gerekmektedir.

Aynı CAPTCHA Değerinin Sorulması

Kısıtlı bir kümeden gelen sorular ya da belli bir cevabı olan sorunun CAPTCHA olarak gelmesi de kaba kuvvet saldırılarını engelleyememektedir.

Belirlenen birkaç farklı soru ve birkaç cevap bulunduğundan dolayı dar bir küme içerisinde kontroller sağlanmaktadır.

CAPTCHA Değerinin Bir Kez Çözülmesi

CAPTCHA değerinin bir kez girildikten sonra diğer isteklerde CAPTCHA değerinin yenilenmemesinden dolayı bir kere CAPTCHA değerinin doğru girilmesinin ardından kaba kuvvet saldırısı yapılabilmektedir. Buradaki temel sorun oturum anahtarımıza bağlı olarak aynı CAPTCHA değerinin kontrol edilmemesinden kaynaklıdır. Her istek sonrası yeni bir CAPTCHA oluşturulmalıdır.

Önlemler
  • Gelen CAPTCHA değerleri “Hidden input” girdi noktalarında bulunmamalıdır.
  • CAPTCHA doğrulama işlemleri backend tarafta gerçekleştirilmelidir.
  • CAPTCHA değerinin metin haline çevrilebilecek kadar basit olmamalıdır.
  • Gelen CAPTCHA değerleri tekrar kullanılmamalıdır.
Adem Kanat

Diğer Blog Yazıları_

Sosyal Medya Kullanımının Riskleri
Sosyal Medya Kullanımının Riskleri
Infraskope Server ve Özellikleri
Infraskope Server ve Özellikleri
Kritik Sunucular Üzerindeki Aktivitelerin Loglanması
Kritik Sunucular Üzerindeki Aktivitelerin Loglanması
Kurumlarda Ağ Güvenlik Stratejileri
Kurumlarda Ağ Güvenlik Stratejileri
WPA-WPA2 Güvenlik Standartlarına Yönelik Saldırı: KRACK (KEY-REINSTALLATION-ATTACK)
WPA-WPA2 Güvenlik Standartlarına Yönelik Saldırı: KRACK (KEY-REINSTALLATION-ATTACK)
Log Yönetiminde Ajanlı/Ajansız Çözümler
Log Yönetiminde Ajanlı/Ajansız Çözümler
Herkesin aklındaki soru: Yapay Zeka Nedir?
Herkesin aklındaki soru: Yapay Zeka Nedir?
Discovery of DLL Hijack on Trend Micro AntiVirus+ | CVE-2018-18333
Discovery of DLL Hijack on Trend Micro AntiVirus+ | CVE-2018-18333
Web Cache Poisoning
Web Cache Poisoning
XML EXTERNAL ENTITY INJECTION AND OOB (OUT-OF-BAND) DATA RETRIEVAL
XML EXTERNAL ENTITY INJECTION AND OOB (OUT-OF-BAND) DATA RETRIEVAL
ARP Poisoning
ARP Poisoning
Cross-Site Request Forgery (CSRF) Zafiyeti
Cross-Site Request Forgery (CSRF) Zafiyeti
SSRF (Server Side Request Forgery)
SSRF (Server Side Request Forgery)
BlueBorne
BlueBorne
Server Side Template Injection Nedir?
Server Side Template Injection Nedir?
Linux Restricted Shell Atlatma Teknikleri
Linux Restricted Shell Atlatma Teknikleri
Discovery of Sandbox Escape on Comodo Container(Antivirus&Firewall)
Discovery of Sandbox Escape on Comodo Container(Antivirus&Firewall)
SDR-Sharp Kullanımı
SDR-Sharp Kullanımı
Log Yönetimi | Log Management | Veritabanı Log | Siem
Log Yönetimi | Log Management | Veritabanı Log | Siem
Cyber Kill Chain, Bir Siber Saldırının Yaşam Döngüsü
Cyber Kill Chain, Bir Siber Saldırının Yaşam Döngüsü
Phishing Nedir?
Phishing Nedir?
“GOLD” Affix Phishing Attack
“GOLD” Affix Phishing Attack
Sızma Testi ve Ödül Avcılığı Hizmetleri
Sızma Testi ve Ödül Avcılığı Hizmetleri
Güvenilir Olarak CAPTCHA Yapılandırılması
Güvenilir Olarak CAPTCHA Yapılandırılması
Basit Kriptolojiden Günümüze Evrilişi
Basit Kriptolojiden Günümüze Evrilişi
Dosya Sistem Analizinin Önemi
Dosya Sistem Analizinin Önemi
HTTP Request Smuggling (HTTP İstek Kaçakcılığı) Nedir?
HTTP Request Smuggling (HTTP İstek Kaçakcılığı) Nedir?
KVKK Kapsamında Veri Keşfi Maskeleme ve Şifreleme
KVKK Kapsamında Veri Keşfi Maskeleme ve Şifreleme
Sosyal Medya Kullanımının Riskleri
Sosyal Medya Kullanımının Riskleri
Sızma (Penetrasyon) Testi Nedir?
Sızma (Penetrasyon) Testi Nedir?
Start Up Kültürü
Start Up Kültürü
Sigma Kuralları ile SIEM Ürünlerinde Tehdit Avı
Sigma Kuralları ile SIEM Ürünlerinde Tehdit Avı
Kritik Altyapılar ve SCADA Güvenliği
Kritik Altyapılar ve SCADA Güvenliği
Zararlı Yazılım Analiz Teknikleri
Zararlı Yazılım Analiz Teknikleri
Uzaktan Çalışma Modellerinde Siber Güvenlik Riskleri
Uzaktan Çalışma Modellerinde Siber Güvenlik Riskleri
Pandemi Sürecinde Siber Güvenlik Riskleri
Pandemi Sürecinde Siber Güvenlik Riskleri
SOC Nedir ve SOC Merkezleri Nasıl Çalışır?
SOC Nedir ve SOC Merkezleri Nasıl Çalışır?
PHISHING Hakkında Her şey
PHISHING Hakkında Her şey
Sosyal Mühendislik Nedir?
Sosyal Mühendislik Nedir?
Siber Hijyen
Siber Hijyen
Adli Bilişim (Digital Forensic) Nedir?
Adli Bilişim (Digital Forensic) Nedir?
DHCP Spoofing Saldırısı Nedir, Nasıl Yapılır?
DHCP Spoofing Saldırısı Nedir, Nasıl Yapılır?
FAIL2BAN İLE SSH BRUTE FORCE SALDIRILARINI ÖNLEME
FAIL2BAN İLE SSH BRUTE FORCE SALDIRILARINI ÖNLEME
BULK EXTRACTOR ARACIYLA DİSK İNCELEME
BULK EXTRACTOR ARACIYLA DİSK İNCELEME
SolarWinds Vaka Analizi
SolarWinds Vaka Analizi
Frida ile SSL Pinning Bypass
Frida ile SSL Pinning Bypass
COOKİE Nedir? Nasıl Çalışır?
COOKİE Nedir? Nasıl Çalışır?
Bilgi Güvenliği Test ve Değerlendirmeleri Teknik Kılavuzu
Bilgi Güvenliği Test ve Değerlendirmeleri Teknik Kılavuzu
Dridex Bankacılık Trojanı Teknik Analiz Raporu (TR)
Dridex Bankacılık Trojanı Teknik Analiz Raporu (TR)
Adwind Rat Technical Analysis Report (ENG)
Adwind Rat Technical Analysis Report (ENG)
SOC Nedir, Firmalar İçin Neden Önemlidir?
SOC Nedir, Firmalar İçin Neden Önemlidir?
Blockchain Nedir?
Blockchain Nedir?
İşlemcilerin Koruma Mekanizması ve Koruma Mekanizmasının Atlatılması
İşlemcilerin Koruma Mekanizması ve Koruma Mekanizmasının Atlatılması
Active Directory Güvenlik İpuçları
Active Directory Güvenlik İpuçları
Nisan 2022 Siber Güvenlik Bülteni
Nisan 2022 Siber Güvenlik Bülteni
Mavi Takım Üyeleri İçin Windows Core Process
Mavi Takım Üyeleri İçin Windows Core Process
Kişiler İçin Bilgi Güvenliği Rehberi
Kişiler İçin Bilgi Güvenliği Rehberi
DDoS Nedir?
DDoS Nedir?
C Dilinde Dosya Yönlendirmeleri (IO Redirection)
C Dilinde Dosya Yönlendirmeleri (IO Redirection)