Memperkenalkan pengalaman konsol baru untuk AWS WAF
Anda sekarang dapat menggunakan pengalaman yang diperbarui untuk mengakses AWS WAF fungsionalitas di mana saja di konsol. Untuk detail selengkapnya, lihat Bek erja dengan konsol.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan transformasi teks di AWS WAF
Bagian ini menjelaskan cara menyediakan transformasi AWS WAF untuk diterapkan sebelum memeriksa permintaan.
Dalam pernyataan yang mencari pola atau menetapkan batasan, Anda dapat memberikan transformasi AWS WAF untuk diterapkan sebelum memeriksa permintaan. Transformasi memformat ulang permintaan web untuk menghilangkan beberapa pemformatan tidak biasa yang digunakan penyerang dalam upaya untuk melewati AWS WAF.
Saat Anda menggunakan ini dengan pemilihan komponen permintaan badan JSON, terapkan AWS WAF transformasi Anda setelah mengurai dan mengekstraksi elemen untuk diperiksa dari JSON. Untuk informasi selengkapnya, lihat Tubuh JSON.
Jika Anda menyediakan lebih dari satu transformasi, Anda juga mengatur urutan AWS WAF untuk menerapkannya.
WCU — Setiap transformasi teks adalah 10 WCU.
Dokumentasi AWS WAF konsol dan API juga memberikan panduan untuk pengaturan ini di lokasi berikut:
-
Pembuat aturan di konsol — Transformasi teks. Opsi ini tersedia saat Anda menggunakan komponen permintaan.
-
Isi pernyataan API -
TextTransformations
Pilihan untuk transformasi teks
Setiap daftar transformasi menunjukkan spesifikasi konsol dan API diikuti oleh deskripsi.
- Base64 decode –
BASE64_DECODE -
AWS WAF memecahkan kode Base64-encoded string.
- Base64 decode extension –
BASE64_DECODE_EXT -
AWS WAF memecahkan kode Base64-encoded string, tetapi menggunakan implementasi pemaaf yang mengabaikan karakter yang tidak valid.
- Command line –
CMD_LINE -
Opsi ini mengurangi situasi di mana penyerang mungkin menyuntikkan perintah baris perintah sistem operasi dan menggunakan pemformatan yang tidak biasa untuk menyamarkan sebagian atau semua perintah.
Gunakan opsi ini untuk melakukan transformasi berikut:
-
Hapus karakter berikut:
\ " ' ^ -
Hapus spasi sebelum karakter berikut:
/ ( -
Ganti karakter berikut dengan spasi:
, ; -
Ganti spasi ganda dengan satu spasi
-
Ubah huruf besar,
A-Z, menjadi huruf kecil,a-z
-
- Command line Unix –
CMD_LINE_UNIX -
Opsi ini mengurangi situasi di mana penyerang mungkin menyuntikkan perintah baris perintah sistem operasi Unix atau Linux dan menggunakan pemformatan yang tidak biasa untuk menyamarkan sebagian atau semua perintah.
Gunakan opsi ini untuk melakukan transformasi berikut:
-
Hapus karakter berikut:
\ " ' -
Ganti karakter berikut dengan spasi: tab
\t(ASCII 9), baris baru\n(ASCII 10), pengembalian kereta\r(ASCII 13), tab vertikal (ASCII 11), dan formfeed\v(ASCII 12)\f -
Mengganti spasi ganda dengan satu spasi
-
Hapus spasi depan dan belakang
-
Ubah huruf besar,
A-Z, menjadi huruf kecil,a-z
-
- Command line Windows –
CMD_LINE_WIN -
Opsi ini mengurangi situasi di mana penyerang mungkin menyuntikkan baris PowerShell perintah atau perintah sistem operasi Windows dan menggunakan pemformatan yang tidak biasa untuk menyamarkan sebagian atau semua perintah.
Gunakan opsi ini untuk melakukan transformasi berikut:
-
Hapus karakter berikut:
" ' ^ ` -
Hapus urutan kelanjutan baris caret, caret diikuti oleh baris baru
\natau dengan pengembalian kereta dan baris baru, sebagai satu unit\r\n -
Ganti karakter berikut dengan spasi: tab
\t(ASCII 9), baris baru\n(ASCII 10), pengembalian kereta\r(ASCII 13), tab vertikal (ASCII 11), dan formfeed\v(ASCII 12)\f -
Mengganti spasi ganda dengan satu spasi
-
Hapus spasi depan dan belakang
-
Ubah huruf besar,
A-Z, menjadi huruf kecil,a-z -
Ganti garis miring berturut-turut dengan garis miring terbalik tunggal. Garis miring terbalik tunggal dipertahankan, sehingga jalur Windows seperti
c:\windows\system32\cmd.exedan jalur UNC tetap utuh.
-
- Compress whitespace –
COMPRESS_WHITE_SPACE -
AWS WAF memampatkan spasi putih dengan mengganti beberapa spasi dengan satu spasi dan mengganti karakter berikut dengan karakter spasi (ASCII 32):
-
Umpan formulir (ASCII 12)
-
Tab (ASCII 9)
-
Baris baru (ASCII 10)
-
Pengembalian kereta (ASCII 13)
-
Tab vertikal (ASCII 11)
-
Non-breaking ruang (ASCII 160)
-
- CSS decode –
CSS_DECODE -
AWS WAF memecahkan kode karakter yang dikodekan menggunakan aturan escape CSS 2.x.
syndata.html#charactersFungsi ini menggunakan hingga dua byte dalam proses pendekodean, sehingga dapat membantu mengungkap karakter ASCII yang dikodekan menggunakan pengodean CSS yang biasanya tidak dikodekan. Ini juga berguna dalam melawan penghindaran, yang merupakan kombinasi dari garis miring terbalik dan karakter non-heksadesimal. Misalnya,ja\vascriptuntukjavascript. - Escape sequences decode –
ESCAPE_SEQ_DECODE -
AWS WAF memecahkan kode urutan escape ANSI C berikut:
\a,,,\b,\f,\n,\r,,\t,\v\\\?\',\"\xHH(heksadesimal),\0OOO(oktal). Pengodean yang tidak valid tetap dalam output. - Hex decode –
HEX_DECODE -
AWS WAF memecahkan kode string karakter heksadesimal menjadi biner.
- HTML entity decode –
HTML_ENTITY_DECODE -
AWS WAF menggantikan karakter yang diwakili dalam format heksadesim
&#xhhhh;al atau format desimal&#nnnn;dengan karakter yang sesuai.AWS WAF menggantikan HTML-encoded karakter berikut dengan karakter yang tidak dikodekan. Daftar ini menggunakan pengkodean HTML huruf kecil, tetapi penanganannya tidak peka huruf besar/kecil, misalnya
&QuOt;dan"diperlakukan sama.HTML-encoded karakter
diganti dengan...
""&&<<>> atau spasi tanpa pindah baris, desimal 160

\n, desimal 10	\t, desimal 9{atau{{|,|, atau||}atau}}!!##$$&percent;atau%%'\(())*atau**++,,..//::;;==??˜atau˜~−-[atau[[\\\]atau]]&hat;^_atau&underbar;_`atau`` - JS decode –
JS_DECODE -
AWS WAF memecahkan kode urutan JavaScript pelarian. Jika
\uHHHHkode berada dalam rentang kode ASCII lebar penuhFF01-FF5E, maka byte yang lebih tinggi digunakan untuk mendeteksi dan menyesuaikan byte yang lebih rendah. Jika tidak, hanya byte yang lebih rendah yang digunakan dan byte yang lebih tinggi dinolkan, yang menyebabkan kemungkinan hilangnya informasi. - JS decode extended –
JS_DECODE_EXT -
AWS WAF memecahkan kode urutan JavaScript escape seperti
JS_DECODE, tetapi menggunakan implementasi yang memaafkan sehingga jalur file Microsoft Windows tidak diubah.JS_DECODE_EXTberbeda dariJS_DECODEsebagai berikut:-
Dekode pelarian
\\,,\/\', dan\"dengan menghapus garis miring terbalik dan mempertahankan karakter berikutnya. -
Pertahankan pelarian karakter tunggal,
\a,\b,,\f,\n,\r\t, dan\vdengan menjaga garis miring terbalik dan karakter berikutnya. -
Pertahankan urutan
\Cescape yang tidak dikenali lainnya (misalnya\datau\w) dengan menjaga garis miring terbalik dan karakter berikutnya, sehingga jalur file Windows seperti\defaultdan\windowstidak diubah.
-
- Lowercase –
LOWERCASE -
AWS WAF mengubah huruf besar (A-Z) menjadi huruf kecil (a-z).
- MD5 –
MD5 -
AWS WAF menghitung hash MD5 dari data dalam input. Hash dihitung dalam bentuk biner mentah.
- None –
NONE -
AWS WAF memeriksa permintaan web seperti yang diterima, tanpa transformasi teks apa pun.
- Normalize path –
NORMALIZE_PATH -
AWS WAF menormalkan string input dengan menghapus beberapa garis miring, referensi diri direktori, dan referensi balik direktori yang tidak ada di awal input.
- Normalize path Windows –
NORMALIZE_PATH_WIN -
AWS WAF mengubah karakter garis miring terbalik menjadi garis miring maju dan kemudian memproses string yang dihasilkan menggunakan transformasi.
NORMALIZE_PATH - Remove comments characters –
REMOVE_COMMENTS_CHAR -
AWS WAF menghapus karakter komentar umum dari input: /*, */, --, dan #.
- Remove nulls –
REMOVE_NULLS -
AWS WAF menghapus semua
NULLbyte dari input. - Remove whitespace –
REMOVE_WHITESPACE -
AWS WAF menghapus semua karakter spasi dari input.
- Replace comments –
REPLACE_COMMENTS -
AWS WAF mengganti setiap kejadian C-style komentar (/*... */) dengan spasi tunggal. Itu tidak memampatkan beberapa kejadian berturut-turut. Ini menggantikan komentar yang tidak diakhiri dengan spasi (ASCII 0x20). Itu tidak mengubah penghentian komentar secara mandiri (*/).
- Replace nulls –
REPLACE_NULLS -
AWS WAF menggantikan setiap
NULLbyte dalam input dengan karakter spasi (ASCII 0x20). - SHA256 –
SHA256 -
AWS WAF menghitung SHA-256 hash dari data dalam input. Hash dihitung dalam bentuk biner mentah.
- SQL hex decode –
SQL_HEX_DECODE -
AWS WAF memecahkan kode data hex SQL. Misalnya, men AWS WAF dekode (
0x414243) ke (ABC). - Trim –
TRIM -
AWS WAF menghapus spasi dari sisi kiri dan kanan input.
- Trim left –
TRIM_LEFT -
AWS WAF menghapus spasi dari sisi kiri input.
- Trim right –
TRIM_RIGHT -
AWS WAF menghapus spasi dari sisi kanan input.
- Uppercase –
UPPERCASE -
AWS WAF mengubah semua huruf kecil (a-z) menjadi huruf besar (). A-Z
- URL decode –
URL_DECODE -
AWS WAF memecahkan kode URL-encoded nilai.
- URL decode Unicode –
URL_DECODE_UNI -
Seperti
URL_DECODE, tetapi dengan dukungan untuk Microsoft-specific%upengkodean. Jika kode berada dalam rentang kodeFF01-FF5EASCII lebar penuh, byte yang lebih tinggi digunakan untuk mendeteksi dan menyesuaikan byte yang lebih rendah. Jika tidak, hanya byte yang lebih rendah digunakan dan byte yang lebih tinggi dinolkan. - UTF8 to Unicode –
UTF8_TO_UNICODE -
AWS WAF mengkonversi semua urutan UTF-8 karakter ke Unicode. Ini membantu menormalkan input dan meminimalkan positif palsu dan negatif palsu untuk bahasa non-Inggris.