IJENE - SQL Injection Scanner v1.0.0
Kapsamli SQL Injection tespit ve dogrulama araci. Web sitelerinde çoklu payload ile SQL açıklarını tarar, WAF'ı tespit eder ve açıkları doğrular.
IJENE (Intelligence Jene Engine) - Türkçe yazılmış, profesyonel pentest aracı.
Ozellikler
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, LDAP, XPath, Command Injection (30 açık türü)
Gerçek Site Bulma
- Google Dorks ile otomatik site keşfi
- Parametreleri otomatik tespit (id, page, search vb.)
- PHP/ASP/JSP sitelerini filter et
- Gerçek açık sitelerini tarayıp sonuçlarını göster
Çoklu Payload Dogrulama
- Bulduğu her zafiyet için 3 kez test et
- Sadece doğrulanmış zafiyetleri raporla
- Yüksek doğruluk oranı
WAF Tespiti
- Cloudflare, Mod Security, Imperva, Akamai, F5, Palo Alto, Fortinet
- WAF bypass stratejileri
- Confidence skoru hesaplama
Coğrafi Filtreleme
- 195+ Ülke desteği (Türkiye hariç)
- Ülke bazlı site filtreleme
- IP coğrafyası tespiti
Raporlama
- JSON, CSV, HTML raporları
- Detaylı zafiyet bilgisi
- Tarama geçmişi ve istatistikler
Performans
- Asinkron HTTP (AsyncIO)
- Rate limiting
- Proxy rotasyonu
- Caching sistemi
- Eksponansiyel backoff
Kurulum
Gereksinimler
- Python 3.8+
- pip
PyPI'dan Kurulum (En Kolay)
pip install ijene --upgrade
ijene
GitHub'dan Kurulum
git clone https://github.com/altay/ijene.git
cd ijene
pip install -r requirements.txt
python ijene.py
🚀 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 | [INFO] | [SCANNER] | Site araması baslaniyor (200 site)...
2024-01-15 14:23:47 | [INFO] | [SCANNER] | [+] 12 site bulundu (Toplam: 12)
2024-01-15 14:23:50 | [OK] | [SCANNER] | 12 site bulundu
2024-01-15 14:23:51 | [INFO] | [PAYLOAD] | 6 payload yuklendi: MySQL Union Based
2024-01-15 14:23:52 | [INFO] | [SCANNER] | [1/12] Taranıyor: http://example.com/products.php?id=1
2024-01-15 14:23:53 | [INFO] | [WAF] | WAF Tespiti: Yok
2024-01-15 14:23:54 | [DEBUG] | [DETECTOR] | Dogrulama 1/3 Basarili
2024-01-15 14:23:55 | [DEBUG] | [DETECTOR] | Dogrulama 2/3 Basarili
2024-01-15 14:23:56 | [DEBUG] | [DETECTOR] | Dogrulama 3/3 Basarili
2024-01-15 14:23:56 | [OK] | [DETECTOR] | Zafiyet DOGRULANDI (3/3)
2024-01-15 14:24:15 | [OK] | [SCANNER] | Tarama tamamlandi. 3 zafiyet bulundu
==========================================================================================
TARAMA SONUÇLARI - 3 ZAFIYET BULUNDU
==========================================================================================
[1] http://example.com/products.php?id=1
Acik Turu : MySQL Union Based
WAF Durumu : YOK
Payload : ' UNION SELECT NULL,NULL,NULL--
Dogrulandi : EVET
[2] http://site2.com/search.php?q=test
Acik Turu : MySQL Time-based Blind
WAF Durumu : VAR
Payload : ' AND SLEEP(5)--
Dogrulandi : EVET
[3] http://site3.com/article.php?id=5
Acik Turu : MySQL Boolean-based Blind
WAF Durumu : YOK
Payload : ' AND '1'='1
Dogrulandi : EVET
==========================================================================================
Toplam Bulundu: 3 zafiyet
==========================================================================================
📁 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.1.tar.gz.
File metadata
- Download URL: ijene-1.0.1.tar.gz
- Upload date:
- Size: 37.7 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 |
7395b56dd8b24cfe9e10f6f733895e0916233ab407d1fa7b314444b9606b1301
|
|
| MD5 |
36a25a11669fb9e8997c2bce7056e01a
|
|
| BLAKE2b-256 |
7aee0f4015c573faa1b772eb73e9048deb75852a3493a510756df880d3a5f54e
|
File details
Details for the file ijene-1.0.1-py3-none-any.whl.
File metadata
- Download URL: ijene-1.0.1-py3-none-any.whl
- Upload date:
- Size: 39.8 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 |
910a81c81be191dd05fa5340afe0c9fb4fcab6252c5d066498ae9613c6d069f0
|
|
| MD5 |
dd2c6a3f8c7680572405db1cc8b43684
|
|
| BLAKE2b-256 |
0f915e985917d178957c20e1da9cbe58ea56d283f2b3d18944204d0cf2e80691
|