4.1
XSS dan Local File Inclusion
Repository ini menyimpan lima one-liner untuk dua kelas kerentanan yang paling sering dicari saat recon: Local File Inclusion dan XSS. Semuanya mengikuti pola yang sama — kumpulkan URL, saring yang punya parameter, suntikkan muatan, lalu cari penanda di badan response — tetapi alat dan penanda akhirnya berbeda. Placeholder HOST, HOSTS.txt, URLS.txt, FILE.txt, dan OUT.txt yang muncul di bawah mengikuti konvensi pada Placeholder dan Konvensi Penulisan One-liner.
Siklus satu request LFI
One-liner LFI dibangun dari empat tahap pendek: gau mengumpulkan URL historis untuk HOST, gf lfi menyaring URL yang punya parameter berpotensi rentan, qsreplace "/etc/passwd" mengganti seluruh nilai parameter dengan path target, lalu xargs -I% -P 25 menjalankan curl per URL dan mencetak penanda bila badan response mengandung root:x README.md:19-241.
sequenceDiagram
participant GAU as gau HOST
participant GF as gf lfi
participant QS as qsreplace
participant XA as xargs -I% -P 25
participant CUR as curl -s
participant GR as grep -q root:x
GAU->>GF: URL historis tanpa saringan
GF->>QS: URL dengan parameter
QS->>XA: URL dengan nilai /etc/passwd
XA->>CUR: 25 proses curl paralel
CUR->>GR: badan response + stderr
rect rgb(45,125,70)
GR-->>XA: root:x ditemukan
XA-->>QS: echo "VULN! %"
end
rect rgb(220,38,38)
GR-->>XA: root:x tidak ditemukan
end
%% fig: Siklus request LFI dari gau sampai penanda VULN!
%% desc: gau mengumpulkan URL, gf lfi menyaring parameter, qsreplace menyuntikkan /etc/passwd, xargs menjalankan curl paralel, dan grep menentukan apakah penanda VULN! dicetak.Dua detail menentukan hasil pipeline ini. Pertama, -P 25 pada xargs berarti dua puluh lima proses curl berjalan bersamaan, sehingga antrean URL besar selesai dalam hitungan detik. Kedua, 2>&1 menggabungkan stderr ke stdout sebelum grep -q "root:x", sehingga pesan galat curl tetap melewati penyaring yang sama. Penanda VULN! % hanya tercetak ketika grep menemukan root:x, potongan baris pertama /etc/passwd pada sistem Linux. Bila gf lfi tidak menemukan parameter yang cocok, pipeline selesai tanpa keluaran apa pun README.md:19-241.
Tiga jalur pipeline XSS
Empat varian XSS memakai dua mesin berbeda: dalfox untuk menguji muatan dan httpx untuk mencocokkan pola pada berkas JavaScript. Varian gospider menyapu URLS.txt dengan -c 10 -d 5, membuang aset statis lewat --blacklist, mengambil URL berstatus code-200, menyaring yang punya =, menimpa semua nilai parameter dengan qsreplace -a, lalu meneruskan hasilnya ke dalfox pipe dan menyimpannya di OUT.txt README.md:38-432.
Varian waybackurls mengambil rute lebih pendek: gf xss memilih URL berpola rentan, sed 's/=.*/=/' memotong nilai parameter supaya daftar tinggal nama parameter, sort -u menghapus duplikat, hasilnya disimpan di FILE.txt, lalu dalfox -b YOURS.xss.ht pipe menguji setiap parameter dengan blind XSS ke domain callback milikmu README.md:45-493.
Varian ketiga sama sekali tidak memakai dalfox. getJS mengambil daftar berkas JavaScript dari HOSTS.txt, lalu httpx --match-regex "addEventListener\((?:'|\")message(?:'|\")" menyaring hanya host yang memuat listener message — pola yang lazim menjadi sumber postMessage tanpa validasi origin README.md:51-554.
graph LR
URLS["URLS.txt"] --> GOS["gospider -S -c 10 -d 5"]
GOS --> C200["grep code-200"]
C200 --> AWK["awk kolom ke-5"]
AWK --> EQ["grep = "]
EQ --> QSA["qsreplace -a"]
QSA --> DAL1["dalfox pipe"]
HOST["HOST"] --> WB["waybackurls"]
WB --> GFX["gf xss"]
GFX --> SED["sed s/=.*=//"]
SED --> SORT["sort -u"]
SORT --> FILE["FILE.txt"]
FILE --> DAL2["dalfox -b YOURS.xss.ht pipe"]
DAL1 --> OUT["OUT.txt"]
DAL2 --> OUT
HOSTS["HOSTS.txt"] --> GETJS["getJS"]
GETJS --> HX["httpx --match-regex"]
style URLS fill:#336791,color:#fff
style HOST fill:#336791,color:#fff
style HOSTS fill:#336791,color:#fff
style FILE fill:#2d7d46,color:#fff
style OUT fill:#2d7d46,color:#fff
style GFX fill:#8b5cf6,color:#fff
style C200 fill:#8b5cf6,color:#fff
style HX fill:#8b5cf6,color:#fff
style SED fill:#f59e0b,color:#000
style QSA fill:#f59e0b,color:#000
style DAL1 fill:#f59e0b,color:#000
style DAL2 fill:#f59e0b,color:#000
%% fig: Tiga jalur pipeline XSS menuju dalfox dan httpx
%% desc: Daftar URL dari gospider dan waybackurls bertemu di dalfox, sementara getJS mengalirkan berkas JavaScript ke httpx untuk pencocokan regex listener message.Biru menandai daftar masukan, ungu menandai penyaring turunan, kuning menandai alat yang menyuntikkan muatan atau mengubah URL, dan hijau menandai berkas hasil. Semua jalur XSS di atas berhenti pada berkas, bukan pada penanda VULN! di layar; pembacaan hasilnya dilakukan setelah proses selesai.
| One-liner | Sumber input | Penyaring | Muatan atau pencocokan | Keluaran |
|---|---|---|---|---|
| LFI | gau HOST | gf lfi | qsreplace "/etc/passwd" | penanda VULN! % di stdout |
XSS gospider | URLS.txt | grep code-200, grep = | qsreplace -a, dalfox pipe | OUT.txt |
XSS waybackurls | waybackurls HOST | gf xss, sed, sort -u | dalfox -b YOURS.xss.ht pipe | OUT.txt |
XSS getJS | HOSTS.txt | getJS | httpx --match-regex pada addEventListener | daftar host di stdout |
XSS tanpa gf | waybackurls HOST | grep = | "><script>alert(1)</script> | teks is vulnerable |
Varian tanpa gf
Varian terakhir melepas ketergantungan pada gf sepenuhnya. waybackurls HOST mengumpulkan URL historis, grep '=' menyisakan URL berparameter, qsreplace '\"><script>alert(1)</script>' menanam muatan pada setiap nilai parameter, lalu satu while read menjalankan curl -sk --path-as-is per URL dan mencari string muatan yang sama di badan response. Bila muatan muncul kembali tanpa encoding, skrip mencetak $host is vulnerable README.md:379-3845.
Perhatikan bahwa penandanya bukan VULN!. Varian ini menulis kalimat is vulnerable, sehingga hasilnya tidak bisa digabung langsung dengan keluaran varian dalfox yang hanya menyimpan URL ke OUT.txt. Opsi --path-as-is juga penting: ia mencegah curl menormalkan ../ atau // di path, sehingga URL yang sudah mengandung traversal tidak berubah sebelum dikirim.
⚠️ Tiga hal yang perlu dijaga sebelum menjalankan blok di atas.
grep -q "root:x"mencocokkan string pada seluruh badanresponse, termasuk halaman decoy dan pesan galat, jadi temuan LFI wajib diverifikasi manual.dalfox -b YOURS.xss.htmengirimblind XSSke domain callback milikmu dan butuh domain tersebut sudah terpasang.xargs -P 25pada pipeline LFI dangospider -c 10 -d 5pada pipeline XSS menghasilkan beban request besar ke host target; turunkan nilainya bila host tidak sanggup menerimathreadsebanyak itu.
Pola gau → gf → qsreplace → xargs juga dipakai untuk Open Redirect dengan penanda VULN! yang sama; rinciannya ada di Open Redirect dan CORS Misconfiguration. Daftar URL hasil gau dan waybackurls sendiri berasal dari tahap recon pada Pemetaan URL, Berkas JavaScript, dan Endpoint, sedangkan posisi dalfox dan httpx dalam rangkaian tool yang lebih panjang dibahas pada Alur Pipeline dan Toolchain.