Transformasi teks - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Transformasi teks

Dalam pernyataan yang mencari pola atau mengatur kendala, Anda dapat memberikan transformasi untukAWS WAFuntuk menerapkan sebelum memeriksa permintaan. Perubahan memformat permintaan web untuk menghilangkan beberapa pemformatan tidak biasa yang digunakan penyerang dalam upaya untuk melewatiAWS WAF.

Saat Anda menggunakan ini dengan pemilihan komponen permintaan tubuh JSON,AWS WAFmenerapkan transformasi Anda setelah mengurai dan mengekstraksi elemen untuk diperiksa dari JSON. Untuk informasi lebih lanjut, lihat bagian sebelumnya,Badan JSON.

Jika Anda memberikan lebih dari satu transformasi, Anda juga mengatur pesananAWS WAFuntuk menerapkannya.

WCU- Setiap transformasi teks adalah 10 WCU.

YangAWS WAFkonsol dan dokumentasi API juga menyediakan panduan untuk pengaturan ini di lokasi berikut:

  • Pembangun bangun bangun tidurpada konsol —Transformasi teks. Opsi ini tersedia saat Anda menggunakan komponen permintaan.

  • Isi pernyataan APITextTransformations

Opsi untuk transformasi teks

DekorderBase64

AWS WAFdekode string Base64 berkode.

Dekode Base64

AWS WAFmen-decode string yang dikodekan Base64, tetapi menggunakan implementasi pemaaf yang mengabaikan karakter yang tidak valid.

Baris perintah

Pilihan ini mengurangi situasi di mana penyerang mungkin menyuntikkan perintah baris perintah sistem operasi dan menggunakan pemformatan yang tidak biasa untuk menyamarkan beberapa 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

  • Mengkonversi huruf besar,A-Z, ke huruf kecil,a-z

Kompres ruang putih

AWS WAFmenggantikan beberapa spasi dengan satu spasi dan mengganti karakter berikut dengan karakter spasi (desimal 32):

  • \f, formfeed, desimal 12

  • \t, tab, desimal 9

  • \n, baris baru, desimal 10

  • \r, pengembalian pengangkutan, desimal 13

  • \v, tab vertikal, desimal 11

  • spasi tanpa pindah baris, desimal 160

CSS mendekode

AWS WAFdekan karakter yang dikodekan menggunakan aturan escape CSS 2.xsyndata.html#characters. Fungsi 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. Sebagai contoh, ja\ vascript untuk javascript.

Dekode urutan keluar

AWS WAFdecodes urutan escape ANSI C berikut: \a, \b, \f, \n, \r, \t, \v, \\, \?, \', \", \xHH (hexadecimal), \0OOO (octal). Pengodean yang tidak valid tetap dalam output.

Memecahkan kode

AWS WAFdecode string karakter heksadesimal menjadi biner.

Entitas HTML decode

AWS WAFmenggantikan karakter HTML-dikodekan dengan karakter unencoded:

  • Mengganti " dengan "

  • Mengganti   dengan spasi tanpa pindah baris, desimal 160

  • Mengganti &lt; dengan <

  • Mengganti &gt; dengan >

  • Mengganti karakter yang diwakili dalam format heksadesimal, &#xhhhh;, dengan karakter yang sesuai

  • Mengganti karakter yang diwakili dalam format desimal, &#nnnn;, dengan karakter yang sesuai

JS mendekode

AWS WAFdecode JavaScript urutan melarikan diri. Jika\uHHHHkode dalam rentang kode ASCII full-widthFF01-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.

Huruf kecil

AWS WAFmengkonversi huruf besar (A-Z) ke huruf kecil (a-z).

MD5

AWS WAFmenghitung hash MD5 dari data di input. Hash dihitung dalam bentuk biner mentah.

Tidak ada

AWS WAFmemeriksa permintaan web seperti yang diterima, tanpa transformasi teks.

Normalisasi jalur

AWS WAFmenghapus beberapa garis miring, referensi diri direktori, dan referensi kembali direktori yang tidak berada di awal input dari string input.

Menormalkan jalur menang

AWS WAFmemproses ini sepertiNORMALIZE_PATH, tetapi pertama-tama mengubah karakter backslash ke garis miring ke garis miring.

Hapus nulls

AWS WAFmenghapus semuaNULLbyte dari input.

Mengganti komentar

AWS WAFmenggantikan setiap terjadinya komentar gaya C (/*... */) dengan satu spasi. Itu tidak memampatkan beberapa kejadian berturut-turut. Ini menggantikan komentar yang tidak diakhiri dengan spasi (ASCII 0x20). Ini tidak mengubah penghentian komentar (*/) yang berdiri sendiri.

Ganti NULLS

AWS WAFmenggantikanNULLbyte di input dengan karakter spasi (0x20 ASCII).

mendekode hex SQL

AWS WAFdecode SQL hex data. Misalnya, (0x414243) diterjemahkan ke (ABC).

Memecahkan kode

AWS WAFmendekodekan nilai yang dikodekan URL.

URL mendekode uni

LIKEURL_DECODE, tetapi dengan dukungan untuk Microsoft-spesifik%upengodean. Jika kode berada dalam rentang kode FF01-FF5E ASCII 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 ke Unicode

AWS WAFmengubah semua urutan karakter UTF-8 untuk Unicode. Ini membantu normalisasi masukan, dan meminimalkan positif palsu dan negatif palsu untuk bahasa non-Inggris.