WAF Bypass Tool: Alat untuk Menganalisis dan Menguji Keamanan WAF

25 Sep 2024

sysbraykr.com news - WAF Bypass Tool adalah alat open-source yang dirancang untuk menganalisis keamanan Web Application Firewall (WAF) terhadap False Positive dan False Negative menggunakan payload yang telah ditentukan maupun yang bisa dikustomisasi. Dengan alat ini, administrator dapat memeriksa efektivitas WAF mereka sebelum seorang penyerang memanfaatkannya. Alat ini dikembangkan oleh tim Nemesida WAF dengan partisipasi komunitas keamanan siber.

Cara Menjalankan WAF Bypass Tool

WAF Bypass Tool dirancang untuk digunakan secara sah dan sesuai dengan hukum. Penggunaan alat ini untuk tujuan ilegal sangat dilarang, dan pengembang tidak bertanggung jawab atas risiko yang mungkin timbul dari penggunaan yang salah.

Berikut adalah beberapa cara untuk menjalankan alat ini:

1. Menjalankan dengan Docker

WAF Bypass versi terbaru tersedia melalui Docker Hub. Anda bisa menarik dan menjalankannya dengan perintah berikut:

docker pull nemesida/waf-bypass
docker run nemesida/waf-bypass --host='example.com'

Docker adalah platform yang memudahkan pengelolaan aplikasi dalam container yang terisolasi. Jika belum terbiasa menggunakan Docker, pelajari panduan lengkap Docker di situs resminya:

2. Menjalankan dengan pipx

Alat ini juga dapat dijalankan menggunakan pipx, yang memungkinkan instalasi dan eksekusi aplikasi Python dalam lingkungan yang terpisah:

pipx install git+https://github.com/nemesida-waf/waf-bypass.git
<direktori pipx>/waf-bypass


pipx adalah alat yang berguna untuk mengelola aplikasi Python, terutama jika Anda ingin mengisolasi paket Python dari sistem Anda. Panduan penggunaan pipx tersedia di:

3. Menjalankan dari Sumber Kode

Untuk menjalankan langsung dari kode sumber, Anda bisa mengunduh dari GitHub dan menjalankannya melalui Command Line Interface (CLI):

git clone https://github.com/nemesida-waf/waf_bypass.git /opt/waf-bypass/
python3 -m pip install -r /opt/waf-bypass/requirements.txt
python3 /opt/waf-bypass/main.py --host='example.com'


GitHub adalah platform kolaboratif untuk pengembangan perangkat lunak. Anda bisa mempelajari lebih lanjut tentang GitHub di:

Opsi Konfigurasi

Alat ini menawarkan berbagai opsi konfigurasi untuk pengujian yang lebih spesifik:

  • --proxy: Tentukan proxy yang ingin digunakan saat mengakses host.

  • --header: Menambahkan header HTTP untuk otentikasi atau tujuan lainnya.

  • --user-agent: Menyesuaikan User-Agent yang dikirim dalam setiap permintaan.

  • --block-code: Menentukan kode status HTTP yang menunjukkan WAF telah memblokir permintaan (default: 403).

  • --threads: Mengatur jumlah thread yang berjalan secara paralel (default: 10).

  • --timeout: Mengatur batas waktu untuk pemrosesan permintaan dalam detik (default: 30).

  • --exclude-dir: Mengecualikan direktori payload tertentu dari pengujian (misalnya: SQLi, XSS).

  • --json-format: Menampilkan hasil pengujian dalam format JSON untuk integrasi dengan platform keamanan lainnya.

  • --curl-replay: Menampilkan perintah cURL untuk mereplikasi permintaan yang gagal atau teridentifikasi sebagai False Positive/Negative.

Pelajari lebih lanjut tentang pengujian aplikasi berbasis web dan penggunaan cURL melalui panduan resmi:

Format JSON Output

Alat ini juga dapat menghasilkan output dalam format JSON yang dapat membantu dalam integrasi otomatis dengan platform keamanan lainnya. Contoh format JSON:

{
"TARGET": "https://example.com",
"PROXY": {},
"HEADERS": {
"User-Agent": ""
},
"BLOCK-CODE": [403],
"THREADS": 50,
"TIMEOUT": 30,
"EXCLUDE-DIR": [],
"FAILED": {
"MFD/7.json": {
"BODY": "WBHTTPSConnectionPool(host='example.com', port=443): Read timed out."
}
},
"PASSED": {
"UWA/3.json": {
"URL": "403 RESPONSE CODE"
}
},
"FALSED": {},
"BYPASSED": {
"UWA/26.json": {
"URL": "200 RESPONSE CODE"
}
}
}


Output ini sangat berguna untuk integrasi ke sistem seperti SIEM (Security Information and Event Management). Belajar lebih lanjut tentang format JSON di:

Jenis Payload yang Didukung

Alat ini menyediakan berbagai payload untuk menguji kelemahan yang mungkin ada pada WAF, termasuk:

  • SQL Injection (SQLi)

  • Cross-Site Scripting (XSS)

  • Remote Code Execution (RCE)

  • Server-Side Request Forgery (SSRF)

  • NoSQL Injection (NoSQLi)

Masing-masing jenis payload terletak dalam direktori yang sesuai, dan pengguna juga dapat menambahkan payload mereka sendiri. Berikut adalah beberapa kategori payload yang tersedia:

  • FP: False Positive

  • API: Pengujian API

  • LFI: Local File Inclusion

  • RFI: Remote File Inclusion

  • SSRF: Server-Side Request Forgery

  • XSS: Cross-Site Scripting

Panduan terkait berbagai jenis serangan ini bisa ditemukan di proyek keamanan aplikasi web, OWASP:

Membuat Payload Kustom

Pengguna dapat menulis payload mereka sendiri dan menambahkannya ke direktori /payload/. Ketika menyusun payload, beberapa elemen yang perlu diperhatikan termasuk:

  • URL: Jalur permintaan

  • ARGS: Parameter kueri

  • BODY: Isi dari permintaan

  • COOKIE: Data cookie

  • USER-AGENT: User-Agent permintaan

  • HEADER: Header HTTP tambahan

  • METHOD: Metode HTTP yang digunakan

Payload kustom memungkinkan penyesuaian pengujian agar lebih sesuai dengan kebutuhan aplikasi yang diuji. Ini juga membantu dalam mengidentifikasi skenario khusus yang mungkin tidak tercakup oleh payload bawaan.

Kesimpulan

WAF Bypass Tool adalah alat yang sangat berguna untuk pengujian WAF, memungkinkan administrator untuk memastikan bahwa sistem mereka aman dari berbagai jenis serangan. Dengan kemampuannya yang fleksibel, alat ini dapat mengidentifikasi kelemahan dan membantu mengurangi risiko False Positive dan False Negative. Namun, penting untuk memastikan bahwa alat ini digunakan secara legal dan bertanggung jawab.

Referensi lebih lanjut:

WAF Bypass Tool: Alat untuk Menganalisis dan Menguji Keamanan WAF

Latest Articles