XSS Scanner Python di Termux: Tools, Script, & Cara Pakai

Menjalankan XSS (Cross-Site Scripting) Scanner berbasis Python di dalam lingkungan terminal Android menggunakan Termux membutuhkan beberapa dependensi spesifik seperti pustaka requests, BeautifulSoup, dan interpreter Python 3. Karena keterbatasan arsitektur seluler, tidak semua pustaka pemindaian kerentanan tingkat lanjut dapat berjalan mulus tanpa modul kompilasi tambahan (seperti clang atau libxml2).

Metode paling efektif di Termux adalah menggunakan script Python mandiri (standalone script) yang melakukan pengujian parameter URL secara spesifik untuk mendeteksi kerentanan XSS reflektif maupun persisten sederhana, alih-alih menggunakan framework besar seperti Arachni atau w3af yang memerlukan dependensi Ruby/Docker kompleks.

Persiapan Lingkungan Termux

Sebelum menjalankan script Python untuk pemindaian XSS, pastikan penyimpanan Termux telah memiliki izin akses, repositori diperbarui, dan paket dasar telah terpasang dengan benar agar tidak terjadi kegagalan saat instalasi modul pip.

pkg update && pkg upgrade -y
pkg install python git libxml2 libxslt clang -y
pip install --upgrade pip

Daftar Tools XSS Scanner Python untuk Termux

Berikut adalah perbandingan tool atau script Python ringan yang kompatibel dan dapat dijalankan secara stabil di dalam terminal Termux untuk kebutuhan audit keamanan web dasar.

Nama Tool / Script Kebutuhan Modul Tingkat Kompleksitas Kesesuaian Termux
Custom Basic XSS Script requests, bs4 Rendah Sangat Stabil
XSStrike (Modifikasi) requests, urllib3, tld Menengah Stabil (Perlu Penyesuaian)
K3L-XSS-Scanner requests Rendah Sangat Stabil

Contoh Script Python Sederhana untuk Deteksi XSS

Berikut adalah kode script Python 3 murni yang membaca parameter URL, memasukkan payload uji coba (seperti <script>alert(1)</script>), dan mendeteksi apakah payload tersebut memantul kembali (reflected) tanpa sanitasi pada respons HTML.

import sys
import urllib.parse
import requests

def scan_xss(target_url):
    payloads = [
        "<script>alert('XSS')</script>",
        "\"><script>alert(document.domain)</script>",
        "<img src=x onerror=alert(1)>"
    ];
    
    parsed_url = urllib.parse.urlparse(target_url);
    params = urllib.parse.parse_qsl(parsed_url.query);
    
    if not params:
        print("[-] Error: Target tidak memiliki parameter URL untuk diuji (contoh: http://site.com/page.php?id=1)");
        return;

    print(f"[+] Memulai pemindaian pada: {target_url}");
    
    for payload in payloads:
        for i, (k, v) in enumerate(params):
            modified_params = params.copy();
            modified_params[i] = (k, payload);
            query_string = urllib.parse.urlencode(modified_params);
            target = f"{parsed_url.scheme}://{parsed_url.netloc}{parsed_url.path}?{query_string}";
            
            try:
                response = requests.get(target, timeout=5);
                if payload in response.text:
                    print(f"[VULNERABLE] Potensi XSS ditemukan pada parameter: {k}");
                    print(f"    Payload: {payload}");
                    print(f"    URL: {target}\n");
                else:
                    print(f"[-] Aman dari payload pada parameter: {k}");
            except requests.exceptions.RequestException as e:
                print(f"[!] Koneksi gagal ke target: {e}");

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Penggunaan: python xss_scanner.py \"http://target.com/index.php?q=test\"");
        sys.exit(1);
    scan_xss(sys.argv[1]);

Langkah Eksekusi di Termux

Ikuti tahapan teknis berikut untuk menyimpan, mengonfigurasi, dan mengeksekusi script pemindai XSS di dalam penyimpanan perangkat Android Anda:

  1. Buat file baru menggunakan nano atau vim di Termux: nano xss_scanner.py
  2. Salin kode Python di atas dan tempelkan ke dalam editor terminal Termux, lalu simpan dengan menekan Ctrl + O, lalu Enter, dan keluar dengan Ctrl + X.
  3. Pasang pustaka yang dibutuhkan jika belum terinstal: pip install requests
  4. Jalankan script dengan menyertakan target URL yang memiliki parameter valid: python xss_scanner.py "http://testphp.vulnweb.com/listproducts.php?cat=1"

Troubleshooting Kendala Termux

Kegagalan umum saat menjalankan tool berbasis Python di Termux biasanya bersumber dari modul pip yang gagal dikompilasi. Jika terjadi error Building wheel for ... failed, pastikan untuk memasang paket build-essential bawaan Termux menggunakan perintah pkg install build-python clang make -y sebelum menginstal modul eksternal. Selain itu, pastikan target URL yang diuji adalah target yang memiliki izin legal untuk diuji keamanannya (seperti lab uji coba lokal atau situs sandbox publik).