Menguji Cross-Origin Resource Sharing (CORS) misconfiguration.

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.