Lompat ke konten
dokumentasi.id
Commit 89c41b0
v1
Star3,2 rb

4

Deteksi Kerentanan

Katalog deteksi kerentanan di repository ini berupa kumpulan blok bash yang berdiri sendiri: satu blok untuk satu kelas bug, satu penanda keluaran, dan satu echo yang hanya berbunyi ketika penanda itu ditemukan. Tidak ada pipeline tunggal yang menjalankan semuanya, sehingga tiap entri harus dipanggil manual dengan inputnya sendiri. Halaman ini memetakan kelompoknya dan pola yang mereka pakai bersama; perintah lengkap per kelas ada di XSS dan Local File Inclusion, Open Redirect dan CORS Misconfiguration, dan CVE, RCE, dan Prototype Pollution.

Peta kelas bug

Entri deteksi tidak tersebar merata di README.md. Kelompok injection, CVE, dan prototype pollution berderet di bagian atas berkas, sedangkan CORS Misconfiguration dan varian XSS tanpa gf diletakkan jauh di bawah karena ditambahkan belakangan. Diagram berikut memisahkan keempat kelompok dari entri konkretnya.

graph TD
  KAT["Katalog one-liner deteksi"] --> INJ["Injection"]
  KAT --> RDR["Redirect dan CORS"]
  KAT --> CVE["CVE dan RCE"]
  KAT --> PP["Prototype Pollution"]
  INJ --> LFI["gf lfi dan /etc/passwd"]
  INJ --> XSS["dalfox pipe dan httpx --match-regex"]
  INJ --> XSS2["qsreplace dan alert(1)"]
  RDR --> OR["gf redirect dan LHOST"]
  RDR --> COR["Origin https://evil.com"]
  CVE --> C5902["CVE-2020-5902"]
  CVE --> C3452["CVE-2020-3452"]
  CVE --> C0378["CVE-2022-0378"]
  CVE --> VBRCE["widget_tabbedcontainer_tab_panel"]
  PP --> PROTO["page-fetch dan testparam=exploit"]
  style KAT fill:#336791,color:#fff
  style INJ fill:#f59e0b,color:#000
  style RDR fill:#f59e0b,color:#000
  style CVE fill:#f59e0b,color:#000
  style PP fill:#f59e0b,color:#000
  style LFI fill:#8b5cf6,color:#fff
  style XSS fill:#8b5cf6,color:#fff
  style XSS2 fill:#8b5cf6,color:#fff
  style OR fill:#8b5cf6,color:#fff
  style COR fill:#8b5cf6,color:#fff
  style C5902 fill:#8b5cf6,color:#fff
  style C3452 fill:#8b5cf6,color:#fff
  style C0378 fill:#8b5cf6,color:#fff
  style VBRCE fill:#8b5cf6,color:#fff
  style PROTO fill:#8b5cf6,color:#fff
%% fig: Katalog deteksi kerentanan per kelas bug
%% desc: Empat kelompok one-liner di README.md, masing-masing dengan entri konkret dan tool yang dipakainya.
Fig. 1: Katalog deteksi kerentanan per kelas bugEmpat kelompok one-liner di README.md, masing-masing dengan entri konkret dan tool yang dipakainya.

Kelompok injection memuat tiga entri. Local File Inclusion menyaring URL dengan gf lfi dan menanam /etc/passwd lewat qsreplace (README.md:19-24). Entri XSS memakai dalfox pipe untuk sebagian target dan httpx --match-regex dengan pola addEventListener untuk berkas JavaScript (README.md:38-55). Varian tanpa gf melewati penyaring sepenuhnya dan langsung memasang payload alert(1) pada setiap URL yang memuat = (README.md:379-384).

Kelompok redirect berisi dua entri. Open-redirect memakai variabel LHOST sebagai tujuan pembelokan dan mencocokkan header Location pada response (README.md:26-36). Entri kedua di blok yang sama hanya memilih URL dengan gf url dan mengirimkannya lewat proxy lokal. CORS Misconfiguration mengirim header Origin: https://evil.com lalu mencari origin yang sama di response (README.md:351-356).

Kelompok CVE dan RCE memakai shodan search dengan favicon hash sebagai penentu target, kecuali CVE-2022-0378 yang membaca URLS.txt. CVE-2020-5902 menyasar tmui/locallb/workspace/fileRead.jsp pada port 3992 (README.md:64-69), CVE-2020-3452 menyasar /+CSCOT+/translation-table dan menandai balasan yang memuat Cisco (README.md:71-76), CVE-2022-0378 menandai onmouse pada halaman modul (README.md:78-83), dan entri vBulletin mengirim subWidgets[0][config][code]=phpinfo(); ke ajax/render/widget_tabbedcontainer_tab_panel (README.md:85-90).

Prototype pollution adalah kelompok terkecil: satu entri menambahkan __proto__[testparam]=exploit ke setiap host, membuka halaman dengan page-fetch, dan mengeksekusi ekspresi window.testparam == "exploit" di dalam halaman (README.md:57-62).

Satu pola untuk semua kelas

Terlepas dari kelasnya, hampir semua entri memakai urutan yang sama: kumpulkan URL, saring, ganti nilai parameter, kirim request, lalu cocokkan response dengan grep -q. Bentuk paling ringkasnya ada di baris LFI: setiap URL dikirim oleh 25 proses xargs paralel, dan echo "VULN! %" hanya tercetak bila grep -q "root:x" berhasil (README.md:19-24). Entri XSS tanpa gf memakai urutan yang sama tanpa penyaring, dengan payload alert(1) dan grep -qs atas payload yang dipantulkan (README.md:379-384).

graph LR
  IN["gau HOST atau URLS.txt"] --> FLT["gf lfi"]
  FLT --> PAY["qsreplace /etc/passwd"]
  PAY --> REQ["xargs -P 25 curl"]
  REQ --> CHK["grep -q root:x"]
  CHK -->|cocok| HIT["echo VULN"]
  CHK -->|tidak cocok| MISS["tanpa keluaran"]
  style IN fill:#336791,color:#fff
  style FLT fill:#f59e0b,color:#000
  style PAY fill:#f59e0b,color:#000
  style REQ fill:#8b5cf6,color:#fff
  style CHK fill:#f59e0b,color:#000
  style HIT fill:#dc2626,color:#fff
  style MISS fill:#2d7d46,color:#fff
%% fig: Alur verifikasi satu URL
%% desc: URL dari hasil recon disaring, disisipi payload, dikirim paralel, lalu penanda dicocokkan untuk memutuskan apakah URL dicetak.
Fig. 2: Alur verifikasi satu URLURL dari hasil recon disaring, disisipi payload, dikirim paralel, lalu penanda dicocokkan untuk memutuskan apakah URL dicetak.

Karena verifikasinya bergantung pada pencocokan string, entri ini hanya membuktikan refleksi atau pembacaan berkas, bukan dampak penuh. Yang tercetak adalah URL, bukan bukti eksploitasi.

Katalog per kelas

Tabel berikut memuat seluruh entri deteksi beserta penanda yang dicari dan sumber inputnya.

KelasEntriPenanda pada responseInputRujukan
injectionLocal File Inclusiongrep -q "root:x"gau HOSTREADME.md:19-24
injectionXSSdalfox pipe, httpx --match-regexURLS.txt, HOSTS.txtREADME.md:38-55
injectionXSS tanpa gfgrep -qs atas payload alert(1)waybackurls HOSTREADME.md:379-384
redirectOpen-redirectgrep -q "Location: $LHOST"gau $1, URLS.txtREADME.md:26-36
redirectCORS Misconfigurationgrep 'https://evil.com'gau "$site"README.md:351-356
CVECVE-2020-5902grep -q rootshodan favicon hash -335242539README.md:64-69
CVECVE-2020-3452grep -q "Cisco"HOSTS.txtREADME.md:71-76
CVECVE-2022-0378grep -qs "onmouse"URLS.txtREADME.md:78-83
RCEwidget_tabbedcontainer_tab_panelgrep -q phpinfoshodan favicon hash -601665621README.md:85-90
prototype pollutionPrototype Pollutiongrep "VULNERABLE"FILE.txt hasil anewREADME.md:57-62

Hanya sebagian entri memakai placeholder HOST atau URLS.txt. Entri Open-redirect pertama mengambil argumen $1 dan mendeklarasikan LHOST sendiri, sedangkan entri CORS menyimpan daftar URL di variabel site (README.md:26-36, README.md:351-356).

Batas dan risiko

⚠️ Beberapa entri mengirim request paralel tanpa pembatas scope: -P 25 pada Local File Inclusion dan Open-redirect, -threads 300 pada Prototype Pollution. Pada daftar URL besar, ini cukup untuk membanjiri target.

⚠️ Opsi -k, --insecure, dan -sk mematikan verifikasi sertifikat TLS di hampir semua entri, dan --path-as-is mengirim path tanpa normalisasi.

⚠️ Dua entri CVE menentukan target dari shodan search, bukan dari hasil recon sendiri. Menjalankannya berarti memilih host di luar aset yang sudah dikumpulkan di Aset In-scope, Bruteforce, dan Wordlist.

⚠️ Entri Prototype Pollution mengeksekusi JavaScript halaman target di dalam page-fetch, dan entri CORS memalsukan header Origin. Keduanya menyentuh aplikasi secara langsung.

Rincian per kelas

Urutan pemakaian seluruh kelas ini di dalam satu alur kerja ada di Alur Pipeline dan Toolchain.