🛡️ IJENE - SQL Injection Scanner v1.0.0
Kapsamlı SQL Injection tespit ve doğrulama aracı. Web sitelerinde çoklu payload ile SQL açıklarını tarar, WAF'ı tespit eder ve açıkları doğrular.
_____ _ _ ___ _ _ ___
|_ _| || |__|| | | __|
| | | \/ _| _| | | |__
| | | | |_| |_| |___|
|_| |_|\_|___|\___/|_____|
✨ Özellikler
🎯 Açık Tespiti
- MySQL: Union-based, Time-based, Boolean-based
- MSSQL: Union-based, Time-based, Boolean-based
- PostgreSQL: Union-based, Time-based, Boolean-based
- SQLite: Union-based, Time-based
- Oracle: Union-based, Time-based
- NoSQL: MongoDB, CouchDB injection
- LDAP, XPath, Command Injection ve daha fazlası (30 açık türü)
🔐 WAF Tespiti
- Cloudflare, Mod Security, Imperva, Akamai, F5 ASM, Palo Alto, Fortinet
- WAF bypass stratejileri
- Şüpheli request'ler için özel payloadlar
🌍 Coğrafi Filtreleme
- Ülke bazlı filtreleme
- Türkiye hariç tüm ülkeler
- IP coğrafyası tespiti
📊 Raporlama
- JSON, CSV, HTML raporları
- Detaylı istatistikler
- Tarama geçmişi
⚡ Performans
- Asinkron HTTP istekleri
- Rate limiting ve proxy rotasyonu
- Caching sistemi
- Eksponansiyel backoff
📦 Kurulum
Gereksinimler
- Python 3.8+
- pip
Paket Yüklemesi
git clone https://github.com/altay/ijene.git
cd ijene
pip install -r requirements.txt
🚀 Kullanım
Temel Kullanım
python ijene.py
Komut satırında aşağıdaki adımları izleyin:
-
Açık Seçimi (1-30)
[?] Açık numarasını girin (1-30): 1 [✓] Seçili: MySQL Union Based (SQL) -
WAF Tercihi
[?] Seçim yapın (1-3): 1 - WAF'lı Siteler 2 - WAF'sız Siteler 3 - Her İkisi -
Site Sayısı
[?] Kaç site taranacak? (10-5000): 200 [✓] 200 site taranacak -
Ülke Filtrelemesi
[?] Seçim yapın (1-2): 1 - Tüm Ülkeler 2 - Spesifik Ülke Seç
Çıktı Örneği
2024-01-15 14:23:45.123 | INFO | [SCANNER ] | Tarama başlıyor: MySQL Union Based, 200 site
2024-01-15 14:23:46.456 | INFO | [SCANNER ] | 45 site bulundu
2024-01-15 14:23:47.789 | INFO | [PAYLOAD ] | 6 payload yüklendi
2024-01-15 14:23:50.123 | INFO | [SCANNER ] | [1/45] Taranıyor: http://example1.com/products.php?id=1
2024-01-15 14:23:50.456 | INFO | [WAF ] | WAF Durumu: Yok
2024-01-15 14:23:52.789 | ✓ SUCCESS | [DETECTOR ] | [✓] http://example1.com - VULNERABLE
2024-01-15 14:24:15.123 | ✓ SUCCESS | [SCANNER ] | Tarama tamamlandı. 12 zafiyet bulundu
════════════════════════════════════════════════════════════
TARAMA SONUÇLARI
════════════════════════════════════════════════════════════
# URL WAF Açık Türü
─── ─────────────────────────────── ─────── ─────────────────
1 http://example1.com/products Yok MySQL Union Based
2 http://example2.com/search Var MySQL Time-based
3 http://example3.com/article Yok MySQL Boolean-based
...
📁 Proje Yapısı
ijene/
├── ijene.py # Ana giriş noktası
├── config.py # Konfigürasyon
├── requirements.txt # Bağımlılıklar
├── README.md # Bu dosya
├── LICENSE # MIT Lisansı
├── core/ # Ana modüller
│ ├── __init__.py
│ ├── scanner.py # Site bulma ve tarama
│ └── detector.py # SQL injection tespiti
├── modules/ # Ek modüller
│ ├── __init__.py
│ └── payload_manager.py # Payload yönetimi
├── utils/ # Yardımcı araçlar
│ ├── __init__.py
│ ├── logger.py # Renkli logging
│ ├── geo_filter.py # Ülke filtreleme
│ ├── database_manager.py # Veritabanı yönetimi
│ ├── report_generator.py # Rapor oluşturma
│ ├── proxy_manager.py # Proxy yönetimi
│ └── rate_limiter.py # Hız kontrolü
├── waf_system/ # WAF tespiti
│ ├── __init__.py
│ └── waf_detector.py # WAF algılama
├── data/ # Veri dosyaları
│ └── ijene.db # SQLite veritabanı
├── logs/ # Log dosyaları
└── results/ # Tarama sonuçları
├── report_20240115_142345.json
├── report_20240115_142345.csv
└── report_20240115_142345.html
⚙️ Konfigürasyon
config.py dosyasından ayarları düzenleyin:
# Network ayarları
TIMEOUT = 15 # İstek timeout
CONCURRENT_REQUESTS = 10 # Eşzamanlı istek
SCAN_DELAY = 0.5 # İstekler arasında bekleme
# WAF Ayarları
WAF_DETECTION_ENABLED = True # WAF tespiti
WAF_DETECTION_AGGRESSIVE = False # Agresif tarama
# Ülke Filtreleme
EXCLUDE_COUNTRY = ['TR'] # Hariç tutulacak ülkeler
# Proxy (Opsiyonel)
USE_PROXY = False
PROXY_URL = None
PROXY_ROTATION = False
# Debug
DEBUG = False
🔧 Environment Değişkenleri
# Debug modu
export IJENE_DEBUG=True
# Timeout ayarı (saniye)
export IJENE_TIMEOUT=20
# Eşzamanlı istek sayısı
export IJENE_CONCURRENT_REQUESTS=15
# Proxy ayarları
export IJENE_USE_PROXY=True
export IJENE_PROXY_URL=http://proxy.example.com:8080
# API Keys (Opsiyonel)
export SHODAN_API_KEY=your_key
export CENSYS_API_KEY=your_key
export VIRUSTOTAL_API_KEY=your_key
📊 Raporlar
Tarama sonunda 3 formatta rapor oluşturulur:
JSON Raporu
{
"generated_at": "2024-01-15T14:24:15.123456",
"total_sites_scanned": 200,
"vulnerabilities_found": 12,
"results": [
{
"url": "http://example.com/products?id=1",
"has_waf": false,
"payload": "' UNION SELECT NULL,NULL--",
"vuln_type": "MySQL Union Based"
}
]
}
CSV Raporu
URL,WAF_DURUMU,AÇIK_TÜRÜ,PAYLOAD
http://example.com/products,Yok,MySQL Union Based,' UNION SELECT NULL--
HTML Raporu
Renkli, interaktif HTML raporu (results/report_*.html)
🎯 Zafiyet Türleri
| ID | Açık Adı | Tür |
|---|---|---|
| 1 | MySQL Union Based | SQL |
| 2 | MySQL Time-based Blind | SQL |
| 3 | MySQL Boolean-based Blind | SQL |
| 4 | MSSQL Union Based | SQL |
| 5 | MSSQL Time-based Blind | SQL |
| ... | ... | ... |
| 30 | Prototype Pollution | JS |
Toplam 30 açık türü desteklenir.
🔒 Etik Kullanım
Bu araç yalnızca yetkili test için kullanılmalıdır:
⚠️ YASAL UYARI ⚠️
- Kendi sistemlerinizde veya izniniz olan sistemlerde kullanın
- İzinsiz kullanım YASAK ve yasal sonuçlara neden olabilir
- Geliştirici sorumlu değildir
- Etik hacker koduna uyun (EC-Council, CEH)
🐛 Hata Bildirimi
Bir hata bulduysanız lütfen bildirin:
# Log dosyasını kontrol edin
cat logs/ijene_*.log
# Issue oluşturun: https://github.com/altay/ijene/issues
📝 Lisans
MIT License - LICENSE dosyasını okuyun
👨💻 Geliştirici
Altay Security Tools
- GitHub: @altay
- Email: contact@altay.security
🙏 Teşekkürler
- OWASP Top 10
- PortSwigger Web Security
- HackTricks
📚 Kaynaklar
Sürüm: 1.0.0
Son Güncelleme: 2024-01-15
Durum: Aktif Geliştirme ✅
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ijene-1.0.0.tar.gz.
File metadata
- Download URL: ijene-1.0.0.tar.gz
- Upload date:
- Size: 35.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e085b758445083e673de75439d3e91469ee47ce391d77803566b43bd0d15ace2
|
|
| MD5 |
f3072a3def71ae197aa209d309e75bec
|
|
| BLAKE2b-256 |
21ec04bcc1aae0f7095d6ddfe829f527d3ac4f94629d9449d7d8cebb6fe493cd
|
File details
Details for the file ijene-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ijene-1.0.0-py3-none-any.whl
- Upload date:
- Size: 37.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7d518f1f8e177bc1a914692f00da1d85284402a7e6c3420c5b2bab159e524b7
|
|
| MD5 |
f5ed71cd8848653eb22e1ccb6243822c
|
|
| BLAKE2b-256 |
96bb1e4645796b6f23ad40888a311f234adba59b42871259f56adecad8f4f6ee
|