Skip to main content

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

  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:

# 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

🙏 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

ijene-1.0.0.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ijene-1.0.0-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

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

Hashes for ijene-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e085b758445083e673de75439d3e91469ee47ce391d77803566b43bd0d15ace2
MD5 f3072a3def71ae197aa209d309e75bec
BLAKE2b-256 21ec04bcc1aae0f7095d6ddfe829f527d3ac4f94629d9449d7d8cebb6fe493cd

See more details on using hashes here.

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

Hashes for ijene-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a7d518f1f8e177bc1a914692f00da1d85284402a7e6c3420c5b2bab159e524b7
MD5 f5ed71cd8848653eb22e1ccb6243822c
BLAKE2b-256 96bb1e4645796b6f23ad40888a311f234adba59b42871259f56adecad8f4f6ee

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page