Skip to main content

webscaner2 is an advanced vulnerability scanner for web applications, designed to identify security issues and vulnerabilities.

Project description

Scanner - Dokumentasi Lengkap

Installation

  1. pip install webscan2
  2. webscan

keunggulan webscan2

  • Keunggulan webscan2 adalah untuk mendeteksi berbagai jenis kerentanan pada website. Aplikasi ini menggunakan teknik pemindaian otomatis untuk mengidentifikasi masalah keamanan seperti SQL Injection, XSS, CSRF, dan lainnya. Dibangun dengan antarmuka yang user-friendly menggunakan Tkinter, tool ini cocok untuk pengembang web, pentester, dan administrator sistem.

  • Fitur Utama:

    • Pemindaian Multi-Kerentanan:
      • SQL Injection
      • Cross-Site Scripting (XSS)
      • Cross-Site Request Forgery (CSRF)
      • Directory Traversal
      • Command Injection
      • Analisis Header Keamanan
      • Pemeriksaan SSL/TLS
    • Fitur Tambahan:
      • Web crawling otomatis
      • Integrasi dengan WSL (Windows Subsystem for Linux)
      • Tampilan hasil dengan klasifikasi tingkat keparahan
      • Progress bar real-time
      • Ekspor hasil pemindaian
    • Antarmuka Pengguna:
      • Pilihan pemindaian yang dapat dikustomisasi
      • Tampilan hasil terorganisir dalam tabel dan detail teks
      • Warna berbeda berdasarkan tingkat keparahan kerentanan

Daftar Isi

  1. Deskripsi
  2. Fitur Utama
  3. Algoritma dan Teknik Pemindaian
  4. Kelebihan
  5. Perbandingan dengan Tools Sejenis
  6. Instalasi
  7. Penggunaan
  8. Screenshots
  9. Berkontribusi
  10. Lisensi

Deskripsi

Advanced Vulnerability Scanner adalah aplikasi GUI berbasis Python yang dirancang untuk mendeteksi berbagai jenis kerentanan keamanan pada website. Aplikasi ini menggunakan teknik pemindaian otomatis untuk mengidentifikasi masalah keamanan seperti SQL Injection, XSS, CSRF, dan lainnya. Dibangun dengan antarmuka yang user-friendly menggunakan Tkinter, tool ini cocok untuk pengembang web, pentester, dan administrator sistem.

Fitur Utama

  1. Pemindaian Multi-Kerentanan:

    • SQL Injection
    • Cross-Site Scripting (XSS)
    • Cross-Site Request Forgery (CSRF)
    • Directory Traversal
    • Command Injection
    • Analisis Header Keamanan
    • Pemeriksaan SSL/TLS
  2. Fitur Tambahan:

    • Web crawling otomatis
    • Integrasi dengan WSL (Windows Subsystem for Linux)
    • Tampilan hasil dengan klasifikasi tingkat keparahan
    • Progress bar real-time
    • Ekspor hasil pemindaian
  3. Antarmuka Pengguna:

    • Pilihan pemindaian yang dapat dikustomisasi
    • Tampilan hasil terorganisir dalam tabel dan detail teks
    • Warna berbeda berdasarkan tingkat keparahan kerentanan

Algoritma dan Teknik Pemindaian

1. SSL/TLS Check

Algoritma:

  1. Membuat koneksi SSL ke server target
  2. Mengekstrak informasi sertifikat
  3. Memeriksa tanggal kedaluwarsa sertifikat
  4. Mendeteksi protokol SSL/TLS yang lemah (SSLv2, SSLv3, TLS 1.0, TLS 1.1)

Kode Penting:

context = ssl.create_default_context()
with socket.create_connection((domain, 443)) as sock:
    with context.wrap_socket(sock, server_hostname=domain) as ssock:
        cert = ssock.getpeercert()

2. Header Analysis

Algoritma:

  1. Mengambil header HTTP dari respons
  2. Memeriksa keberadaan header keamanan penting:
    • X-XSS-Protection
    • X-Content-Type-Options
    • X-Frame-Options
    • Content-Security-Policy
    • Strict-Transport-Security
    • Referrer-Policy
  3. Memeriksa konfigurasi CORS yang terlalu permisif

Kode Penting:

security_headers = {
    'X-XSS-Protection': '1; mode=block',
    'X-Content-Type-Options': 'nosniff',
    'X-Frame-Options': ['DENY', 'SAMEORIGIN'],
    # ... lainnya
}

3. SQL Injection Test

Algoritma:

  1. Mengekstrak parameter URL
  2. Menyuntikkan payload SQL khusus ke setiap parameter
  3. Menganalisis respons untuk pesan kesalahan database
  4. Mendeteksi pola respons yang menunjukkan kerentanan

Payload Contoh:

payloads = [
    "'", "\"", "' OR '1'='1", "' OR 1=1--", 
    "' OR 1=1#", "' OR 1=1/*", "' UNION SELECT null,version()--"
]

4. XSS Test

Algoritma:

  1. Mengekstrak parameter URL
  2. Menyuntikkan payload XSS ke setiap parameter
  3. Memeriksa apakah payload muncul dalam respons tanpa sanitasi

Payload Contoh:

payloads = [
    "<script>alert(1)</script>", 
    "<img src=x onerror=alert(1)>",
    "\"><script>alert(1)</script>",
    "javascript:alert(1)",
    "onmouseover=alert(1)"
]

5. CSRF Test

Algoritma:

  1. Mengambil semua form dari halaman web
  2. Memeriksa keberadaan token CSRF
  3. Mengidentifikasi form yang tidak memiliki perlindungan CSRF

Kode Penting:

for form in forms:
    if not form.find('input', {'name': 'csrf_token'}) and \
       not form.find('input', {'name': 'csrfmiddlewaretoken'}):
        vulnerable = True

6. Directory Traversal Test

Algoritma:

  1. Membuat URL dengan berbagai variasi path traversal
  2. Memeriksa apakah server mengembalikan file sistem yang seharusnya tidak dapat diakses
  3. Mencari indikator file sistem seperti "/etc/passwd" dalam respons

Payload Contoh:

payloads = [
    "../../../../etc/passwd",
    "..%2F..%2F..%2Fetc%2Fpasswd",
    "....//....//etc/passwd"
]

7. Command Injection Test

Algoritma:

  1. Menyuntikkan perintah sistem melalui parameter URL
  2. Mencari output perintah dalam respons
  3. Mendeteksi indikator seperti "uid=" atau output ping

Payload Contoh:

payloads = [
    ";id", "|id", "`id`", "$(id)", 
    "|| ping -c 1 localhost", "&& ping -c 1 localhost"
]

8. Web Crawling

Algoritma:

  1. Memulai dari URL dasar
  2. Mengekstrak semua link dari halaman
  3. Mengunjungi link baru secara rekursif
  4. Membatasi kedalaman dan jumlah halaman yang dikunjungi

Kode Penting:

while to_visit and len(visited) < max_pages:
    url = to_visit.pop()
    response = requests.get(url, timeout=5)
    soup = BeautifulSoup(response.text, 'html.parser')
    # Ekstrak link dan tambahkan ke antrian

Kelebihan

  1. Multi-Threading: Pemindaian berjalan di thread terpisah sehingga GUI tetap responsif
  2. Klasifikasi Kerentanan: Hasil diklasifikasikan berdasarkan tingkat keparahan (High, Medium, Low, Info)
  3. Antarmuka Intuitif: Tampilan GUI yang mudah digunakan dengan progress bar dan tab hasil
  4. Modular: Setiap jenis tes dapat diaktifkan/nonaktifkan sesuai kebutuhan
  5. Integrasi WSL: Akses cepat ke terminal Linux dari dalam aplikasi (untuk Windows)
  6. Ringan: Tidak memerlukan server atau dependensi berat selain Python standar

Perbandingan dengan Tools Sejenis

Fitur Advanced Vulnerability Scanner OWASP ZAP Burp Suite Community Nikto
GUI
SQL Injection Test
XSS Test
CSRF Detection
SSL/TLS Analysis
Header Analysis
Command Injection Test
Web Crawling ✅ (Basic)
Automation
Open Source
Harga Gratis Gratis Gratis (Versi Community) Gratis

Kelebihan dibanding tools lain:

  1. Lebih ringan dan cepat dibanding ZAP/Burp Suite
  2. Antarmuka lebih sederhana untuk pemula
  3. Fokus pada kerentanan umum yang paling kritis
  4. Tidak memerlukan konfigurasi kompleks

Kekurangan:

  1. Tidak memiliki fitur proxy intercept seperti Burp Suite
  2. Crawling lebih dasar dibanding ZAP
  3. Tidak memiliki database kerentanan selengkap Nikto

Instalasi

Persyaratan Sistem

  • Python 3.6 atau lebih baru
  • pip (Python package manager)
  • Sistem Operasi: Windows, Linux, atau macOS

Langkah-langkah Instalasi

  1. Clone repository (jika menggunakan versi source code):

    git clone https://github.com/username/advanced-vulnerability-scanner.git
    cd advanced-vulnerability-scanner
    
  2. Buat virtual environment (disarankan):

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate     # Windows
    
  3. Instal dependensi:

    pip install -r requirements.txt
    

    Atau instal manual:

    pip install requests beautifulsoup4 pillow tk
    
  4. Jalankan aplikasi:

    python gui.py
    

Untuk Build Executable (Opsional)

  1. Instal PyInstaller:

    pip install pyinstaller
    
  2. Build executable:

    pyinstaller --onefile --windowed --icon=icon.ico gui.py
    
  3. File executable akan berada di folder dist

Penggunaan

  1. Memulai Pemindaian:

    • Masukkan URL target (harus dimulai dengan http:// atau https://)
    • Pilih jenis tes yang ingin dilakukan dengan mencentang opsi yang tersedia
    • Klik tombol "Scan"
  2. Membaca Hasil:

    • Hasil akan ditampilkan dalam tabel di tab "Vulnerabilities"
    • Detail lengkap tersedia di tab "Details"
    • Kerentanan diwarnai berdasarkan tingkat keparahan:
      • Merah: High
      • Kuning: Medium
      • Hijau: Low
      • Biru: Info
  3. Fitur WSL:

    • Tombol "WSL" akan membuka terminal WSL (hanya untuk Windows dengan WSL terinstal)
  4. Menyimpan Hasil:

    • Salin teks dari tab "Details" secara manual (fitur ekspor otomatis akan ditambahkan di versi mendatang)

Screenshots

  • Antarmuka Utama Antarmuka Utama

Berkontribusi

Kontribusi terbuka untuk:

  • Menambahkan jenis tes kerentanan baru
  • Memperbaiki false positive/negative
  • Meningkatkan antarmuka pengguna
  • Menambahkan fitur ekspor hasil
  • Menerjemahkan ke bahasa lain

Langkah kontribusi:

  1. Fork repository
  2. Buat branch fitur (git checkout -b fitur-baru)
  3. Commit perubahan (git commit -am 'Menambahkan fitur baru')
  4. Push ke branch (git push origin fitur-baru)
  5. Buat Pull Request

Lisensi

Proyek ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detail lengkap.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

webscan2-1.3.5.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

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

webscan2-1.3.5-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file webscan2-1.3.5.tar.gz.

File metadata

  • Download URL: webscan2-1.3.5.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for webscan2-1.3.5.tar.gz
Algorithm Hash digest
SHA256 1cbf27e283d703bb815d4e245a9d3d30f0b6b2a3c5e7ae3f0b974cb07188023d
MD5 67a414c8df465c3a7e17c33a439ca049
BLAKE2b-256 39d815395774915a19e9667061ef4ef9e68d23f9e2bb0689c47d5e0b4442a3cf

See more details on using hashes here.

File details

Details for the file webscan2-1.3.5-py3-none-any.whl.

File metadata

  • Download URL: webscan2-1.3.5-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for webscan2-1.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7aea1a69504291a3c10717bbc3b11fbe8c1fadfbbe0ad01498839c0c63578a9a
MD5 f64fe3f05dc605e8d4064da6a76a0f23
BLAKE2b-256 2ba4aabca7829333e50dc3944e380d5f61cb6b8930d6a6a6551928948219c5c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page