Metadata-Version: 2.4
Name: ijene
Version: 1.0.0
Summary: Kapsamlı SQL Injection Tespit Aracı
Home-page: https://github.com/altay/ijene
Author: Altay Security Tools
Author-email: contact@altay.security
License: MIT
Project-URL: Bug Reports, https://github.com/altay/ijene/issues
Project-URL: Source, https://github.com/altay/ijene
Project-URL: Documentation, https://github.com/altay/ijene/wiki
Keywords: sql-injection,security,penetration-testing,web-security,scanner,waf-detection,vulnerability-assessment,ethical-hacking
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: Turkish
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Security
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: requests>=2.28.0
Requires-Dist: colorama>=0.4.5
Requires-Dist: pyfiglet>=0.10.0
Requires-Dist: tabulate>=0.9.0
Requires-Dist: beautifulsoup4>=4.11.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: loguru>=0.6.0
Provides-Extra: dev
Requires-Dist: pytest>=7.2.0; extra == "dev"
Requires-Dist: pytest-asyncio>=20.3.0; extra == "dev"
Requires-Dist: black>=22.12.0; extra == "dev"
Requires-Dist: flake8>=5.0.0; extra == "dev"
Requires-Dist: isort>=5.11.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=5.3.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.1.0; extra == "docs"
Provides-Extra: api
Requires-Dist: shodan>=1.28.0; extra == "api"
Requires-Dist: censys>=2.1.4; extra == "api"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 🛡️ 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

```bash
git clone https://github.com/altay/ijene.git
cd ijene
pip install -r requirements.txt
```

## 🚀 Kullanım

### Temel Kullanım

```bash
python ijene.py
```

Komut satırında aşağıdaki adımları izleyin:

1. **Açık Seçimi** (1-30)
   ```
   [?] Açık numarasını girin (1-30): 1
   [✓] Seçili: MySQL Union Based (SQL)
   ```

2. **WAF Tercihi**
   ```
   [?] Seçim yapın (1-3):
   1 - WAF'lı Siteler
   2 - WAF'sız Siteler
   3 - Her İkisi
   ```

3. **Site Sayısı**
   ```
   [?] Kaç site taranacak? (10-5000): 200
   [✓] 200 site taranacak
   ```

4. **Ü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:

```python
# 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

```bash
# 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
```json
{
  "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
```csv
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:

```bash
# Log dosyasını kontrol edin
cat logs/ijene_*.log

# Issue oluşturun: https://github.com/altay/ijene/issues
```

## 📝 Lisans

MIT License - [LICENSE](LICENSE) dosyasını okuyun

## 👨‍💻 Geliştirici

**Altay Security Tools**

- GitHub: [@altay](https://github.com/altay)
- Email: contact@altay.security

## 🙏 Teşekkürler

- OWASP Top 10
- PortSwigger Web Security
- HackTricks

## 📚 Kaynaklar

- [SQL Injection OWASP](https://owasp.org/www-community/attacks/SQL_Injection)
- [WAF Bypass Techniques](https://owasp.org/www-community/attacks/SQL_Injection)
- [Payload Database](https://github.com/PayloadsAllTheThings/SQL-Injection)

---

**Sürüm**: 1.0.0  
**Son Güncelleme**: 2024-01-15  
**Durum**: Aktif Geliştirme ✅
