Skrip bash yang digunakan untuk menguji apakah suatu situs web rentan terhadap serangan spoofed Origin header — biasanya untuk menguji Cross-Origin Resource Sharing (CORS) misconfiguration.
๐ก Tujuan
Menguji apakah situs target mengizinkan request dari domain yang tidak sah (evil.com) lewat manipulasi header Origin.
๐งช Tutorial Lengkap: CORS Origin Header Attack Testing
๐ ️ Prasyarat
OS: Kali Linux / Linux lain
Alat: curl, grep, bash
Akses terminal
๐น Langkah 1: Tentukan Target
site="http://testphp.vulnweb.com/"
๐ Ini adalah target URL yang ingin Anda uji.
๐น Langkah 2: Siapkan Daftar Payload
payloads=('.' ':' '%' '$' '@' '#' '&' '*' '!')
๐ Ini adalah karakter-karakter spesial yang akan ditambahkan ke domain evil.com untuk mengelabui sistem validasi CORS.
Contoh: evil.com, .evil.com, evil.com%60 dsb.
๐น Langkah 3: Looping Payload
for payload in "${payloads[@]}"
do
...
done
๐ Program akan memproses setiap payload satu per satu.
๐น Langkah 4: Kirim Request dengan Header Asal yang Dimodifikasi
target=$(curl -s -I -H "Origin: ${site}${payload}.evil.com" -X GET "$site")
๐ curl digunakan untuk mengirim request HTTP ke target dengan Origin header palsu.
Contoh header:
Origin: http://testphp.vulnweb.com$.evil.com
๐น Langkah 5: Cek Refleksi
echo "$target" | grep "${site}${payload}.evil.com"
๐ Mengecek apakah Origin palsu tersebut di-echo atau diterima oleh server. Jika ya, maka situs rentan terhadap CORS misconfiguration.
๐น Langkah 6: Tampilkan Hasil
if echo "$target" | grep "${site}${payload}.evil.com"; then
echo "[+] Payload Reflected: ${site}${payload}.evil.com"
else
echo "Nothing found with: ${site}${payload}.evil.com"
fi
๐ Jika payload muncul dalam response header, maka indikasi adanya kerentanan CORS.
๐ Script Lengkap
site="http://testphp.vulnweb.com/"
payloads=('.' ':' '%' '$' '@' '#' '&' '*' '!')
for payload in "${payloads[@]}"
do
target=$(curl -s -I -H "Origin: ${site}${payload}.evil.com" -X GET "$site")
if echo "$target" | grep "${site}${payload}.evil.com"; then
echo "[+] Payload Reflected: ${site}${payload}.evil.com"
else
echo "Nothing found with: ${site}${payload}.evil.com"
fi
done
✅ Output yang Diinginkan
Jika situs tidak aman, akan muncul:
[+] Payload Reflected: http://testphp.vulnweb.com$.evil.com
Jika aman, akan muncul:
Nothing found with: http://testphp.vulnweb.com$.evil.com
⚠️ Disclaimer
Gunakan script ini hanya untuk pengujian di lingkungan Anda sendiri atau situs yang Anda punya izin untuk uji. Melakukan scanning tanpa izin bisa melanggar hukum.