Saat mengonfigurasi template perlindungan, Anda harus menentukan objek yang dilindungi sebagai target. Meskipun Web Application Firewall (WAF) secara otomatis membuat objek tersebut untuk aset yang telah di-onboard, konfigurasi manual diperlukan untuk skenario kompleks yang melibatkan bulk asset management atau advanced settings (misalnya decoding kustom, cookie, atau header respons). Topik ini menjelaskan cara mengonfigurasi dan mengelola objek yang dilindungi serta kelompoknya guna mendukung keamanan dengan detail halus.
Konsep utama
Protected object: Saat Anda mengonboard nama domain atau instans layanan cloud ke WAF, WAF secara otomatis membuat objek yang dilindungi yang sesuai. Anda kemudian dapat menerapkan template perlindungan ke objek tersebut.
Protected object group: Anda dapat menambahkan beberapa objek yang dilindungi ke dalam satu kelompok untuk manajemen terpusat. Satu objek yang dilindungi hanya dapat menjadi anggota satu kelompok objek yang dilindungi.
Catatan penggunaan
Sebelum memulai, pastikan Anda memenuhi persyaratan berikut:
Persyaratan onboarding: Anda harus memiliki objek yang dilindungi yang sudah ada. WAF membuatnya secara otomatis saat Anda mengonboard layanan web Anda. Jika Anda belum mengonboard layanan Anda, lihat Ikhtisar onboarding.
Pendaftaran ICP: Untuk menambahkan objek yang dilindungi untuk nama domain yang dikaitkan dengan layanan cloud dan di-host pada server di Daratan Tiongkok, nama domain tersebut harus memiliki pendaftaran ICP. Untuk informasi selengkapnya, lihat Bagaimana cara memeriksa informasi pendaftaran ICP suatu nama domain?
Tambahkan objek yang dilindungi
Saat Anda menambahkan aset ke WAF, WAF secara otomatis membuat objek yang dilindungi yang sesuai. Pembuatan manual biasanya tidak diperlukan. Namun, Anda harus menambahkan nama domain secara manual sebagai objek yang dilindungi dalam skenario berikut:
Penyiapan layanan cloud: Beberapa nama domain mengarah ke instans layanan cloud yang sama, sehingga Anda perlu mengonfigurasi aturan perlindungan yang berbeda untuk masing-masing nama domain.
Integrasi SDK Cloud Hibrida: Beberapa nama domain meresolusi ke kluster yang sama, dan Anda perlu mengonfigurasi aturan perlindungan berbeda untuk setiap nama domain.
Masuk ke Konsol Web Application Firewall 3.0. Dari bilah menu atas, pilih kelompok sumber daya dan wilayah (Chinese Mainland atau Outside Chinese Mainland) untuk instans WAF.
Di panel navigasi sebelah kiri, pilih .
Pada tab Protected Objects, klik Add Protected Object.
Pada kotak dialog Add Protected Object, konfigurasikan parameter sesuai dengan Protected Object Type, lalu klik OK.
Cloud Service
Parameter
Deskripsi
Domain Name
Masukkan nama domain yang akan dilindungi. Anda dapat memasukkan nama domain yang cocok persis, seperti
www.aliyundoc.com, atau nama domain wildcard, seperti*.aliyundoc.com.CatatanAturan pencocokan nama domain wildcard: Nama domain wildcard hanya dapat mencocokkan subdomain pada level yang sama. Misalnya,
*.aliyundoc.comdapat mencocokkan subdomain sepertiwww.aliyundoc.comdanexample.aliyundoc.com, tetapi tidakaliyundoc.comatauwww.example.aliyundoc.com.Aturan prioritas: Jika permintaan cocok dengan nama domain persis dan nama domain wildcard sekaligus, aturan perlindungan untuk nama domain persis akan didahulukan.
Cloud Service
Pilih tipe instans Cloud Service tempat nama domain di-onboard. Opsi:
ALB: Application Load Balancer (ALB).
CLB4: Classic Load Balancer (CLB) dengan listener TCP.
CLB7: CLB dengan listener HTTP/HTTPS.
ECS: Elastic Compute Service (ECS).
NLB: Network Load Balancer (NLB).
Instance
Pilih ID instans ALB. Ini hanya diperlukan jika tipe Cloud Service diatur ke ALB.
Add to Protected Object Group
Tambahkan objek yang dilindungi ke kelompok objek yang dilindungi untuk manajemen aturan perlindungan terpusat. Setelah objek dimasukkan ke dalam kelompok, Anda harus mengonfigurasi aturan perlindungannya di tingkat kelompok; konfigurasi aturan individual tidak lagi didukung.
Resource Group
Tambahkan objek yang dilindungi ke kelompok sumber daya sesuai kebutuhan untuk menyederhanakan manajemen sumber daya dan konfigurasi izin, serta meningkatkan efisiensi manajemen. Jika tidak diperlukan, pilih Default Resource Group. Untuk informasi selengkapnya, lihat Apa itu kelompok sumber daya?.
SDK-based Traffic Mirroring
Parameter
Deskripsi
Protected Object Name
Masukkan nama yang mudah dikenali.
Domain Name/IP Address
Masukkan nama domain yang akan dilindungi. Anda dapat memasukkan nama domain yang cocok persis, seperti
www.aliyundoc.com, atau nama domain wildcard, seperti*.aliyundoc.com.CatatanAturan pencocokan nama domain wildcard: Nama domain wildcard hanya dapat mencocokkan subdomain pada level yang sama. Misalnya,
*.aliyundoc.comdapat mencocokkanwww.aliyundoc.comdanexample.aliyundoc.com, tetapi tidakaliyundoc.comatauwww.example.aliyundoc.com.Aturan prioritas: Jika permintaan cocok dengan nama domain persis dan nama domain wildcard sekaligus, aturan perlindungan untuk nama domain persis akan didahulukan.
URL
Masukkan path URL yang akan dilindungi.
Add to Protected Object Group
Tambahkan objek yang dilindungi ke kelompok objek yang dilindungi untuk manajemen aturan perlindungan terpusat. Setelah objek dimasukkan ke dalam kelompok, Anda harus mengonfigurasi aturan perlindungannya di tingkat kelompok; konfigurasi aturan individual tidak lagi didukung.
Resource Group
Tambahkan objek yang dilindungi ke kelompok sumber daya sesuai kebutuhan untuk menyederhanakan manajemen sumber daya dan konfigurasi izin, serta meningkatkan efisiensi manajemen. Jika Anda tidak memiliki persyaratan konfigurasi khusus, pilih Default Resource Group. Untuk informasi selengkapnya, lihat Apa itu kelompok sumber daya?.
Konfigurasikan pengaturan lanjutan untuk objek yang dilindungi
WAF menyediakan pengaturan lanjutan berikut untuk menyesuaikan objek yang dilindungi berdasarkan kebutuhan bisnis dan kebijakan keamanan Anda. Untuk mengakses pengaturan ini, klik Settings di kolom Actions untuk objek yang dilindungi yang dituju.
Parameter | Kasus penggunaan dan deskripsi |
Jika proxy lapisan 7, seperti CDN, ditempatkan di depan WAF, Anda harus mengatur Obtain Actual IP Address of Client agar WAF dapat memperoleh informasi IP klien yang sebenarnya untuk analitik keamanan (misalnya, Security Reports's Attacker IP Address). | |
Saat menggunakan modul perlindungan (seperti HTTP Flood Protection dan Scan Protection), atau mengonfigurasi aksi aturan sebagai Slider CAPTCHA, WAF menambahkan cookie pelacakan dan autentikasi ke respons menggunakan header Set-Cookie. Anda dapat mengonfigurasi status pengiriman dan atribut Secure dari cookie ini sesuai kebutuhan untuk memenuhi persyaratan kepatuhan keamanan dan kompatibilitas bisnis. | |
Untuk nama domain yang di-onboard dalam mode CNAME record, WAF dapat menyisipkan header kustom ke dalam respons yang dikirim ke klien. Ini digunakan untuk penguatan keamanan, kontrol kebijakan, atau debugging. | |
WAF dapat mengurai dan memulihkan data dalam format seperti JSON, XML, dan Form, serta yang dikodekan menggunakan metode seperti Base64 dan entitas HTML. Hal ini memastikan deteksi trafik berbahaya yang disembunyikan dalam enkode atau kompresi multi-lapis. | |
WAF dapat mengekstraksi informasi identitas pengguna (seperti username, token, dan entitas JWT) dari permintaan secara cerdas dan menerapkan informasi ini ke modul Scan Protection, Bot Management, dan Custom Rule untuk kontrol keamanan detail halus berdasarkan dimensi akun. |
Pada tab WAF Link Settings, konfigurasikan Is a Layer 7 proxy such as Anti-DDoS Proxy or CDN deployed in front of WAF. Untuk informasi selengkapnya, lihat Obtain real client information.
CatatanTidak diperlukan tindakan tambahan untuk domain CNAME atau instans ECS/CLB/NLB jika sudah dikonfigurasi saat onboarding.
Pada tab WAF Link Settings, Anda dapat mengonfigurasi Tracking Cookie dan Slider CAPTCHA Cookie.
Tracking Cookie: Saat Anda menggunakan fitur seperti HTTP flood protection dan scan protection, WAF secara default mengeluarkan cookie bernama
acw_tcuntuk mengidentifikasi dan melacak perilaku akses klien. Anda dapat menggunakan sakelar Status untuk mengaktifkan atau menonaktifkan fitur Tracking Cookie. Untuk mengeluarkan cookie ini hanya untuk Permintaan HTTPS, Anda dapat mengaktifkan Secure Attribute.PentingKonfigurasi yang direkomendasikan: Aktifkan sakelar Status untuk melacak cookie. Jika tidak, modul perlindungan seperti HTTP flood protection dan scanning protection tidak akan berfungsi dengan benar.
Batasan kelompok objek yang dilindungi: Untuk objek yang dilindungi dalam kelompok objek yang dilindungi, fitur Tracking Cookie diaktifkan secara default, dan Anda tidak dapat menonaktifkan Tracking Cookie atau mengaktifkan Secure Attribute.
Aturan efektif: Jika permintaan mengenai beberapa objek yang dilindungi dan fitur Tracking Cookie atau Secure Attribute diaktifkan untuk setidaknya salah satu objek tersebut, fitur tersebut akan secara otomatis diaktifkan untuk semua objek yang terkena.
Slider CAPTCHA Cookie: Setelah verifikasi slider berhasil, WAF secara otomatis mengeluarkan cookie bernama
acw_sc__v3untuk memvalidasi verifikasi. Jika Anda ingin memastikan cookie ini hanya dikirim dalam Permintaan HTTPS, aktifkan Secure Attribute.PentingMengaktifkan Secure Attribute pada cookie slider akan mengganggu fitur slider di situs HTTP.
Secure Attribute dinonaktifkan secara default untuk objek yang dilindungi dalam kelompok objek yang dilindungi dan tidak dapat diaktifkan.
Custom Response Header (hanya untuk onboarding CNAME)
Pada tab WAF Link Settings, konfigurasikan Custom Response Header. Anda dapat menambahkan hingga lima header. Jika Header Name dari header respons kustom cocok dengan nama header respons dari server origin, nilai header asli akan diganti dengan Header Value yang Anda tentukan.
Konfigurasikan pengaturan pada tab Decode Settings. Untuk informasi selengkapnya, lihat Lampiran: Pengaturan decoding.
Pada tab User Identification, konfigurasikan hingga lima aturan untuk setiap objek yang dilindungi sesuai urutan prioritas.
Lokasi untuk User Identification dapat berupa:
Query String
Body
Cookie
Header
Format akun:
Plaintext Authentication: contohnya, email***@qq.com.
JWT Authentication: Biasanya dalam Header yang membawa informasi pengguna. Format:
Authorization: Bearer {Token}. Untuk JWT, Anda harus menentukan bidang akun dalam payload yang didekode.Basic Authentication: Biasanya dalam Header. Format:
Authorization: Basic {Token}.
Kelola objek yang dilindungi menggunakan kelompok objek yang dilindungi
Saat menerapkan aturan perlindungan yang sama ke banyak objek yang dilindungi, penggunaan kelompok objek yang dilindungi dapat sangat meningkatkan efisiensi manajemen.
Di panel navigasi sebelah kiri, pilih .
Pada tab Protected Object Groups, klik Create.
Pada kotak dialog Create Protected Object Group, masukkan Protected Object Group Name, pilih Associate with Protected Object, tambahkan Remarks, lalu klik OK.
CatatanDaftar Available Objects pada bagian Associate with Protected Object hanya mencakup objek yang dilindungi yang memenuhi kriteria berikut: tidak termasuk dalam kelompok objek yang dilindungi mana pun, dan hanya memiliki template perlindungan default yang diterapkan (atau tidak memiliki template sama sekali).
Objek yang dilindungi yang sudah ditambahkan ke kelompok tidak dapat ditambahkan ke kelompok lain. Anda harus menghapusnya dari kelompok saat ini sebelum menambahkannya ke kelompok baru.
Saat membuat template perlindungan, Anda dapat mengatur Apply To ke Protected Object Group untuk menerapkan template ke semua objek dalam kelompok tersebut.
O&M harian
Kelola objek yang dilindungi
Lihat aturan perlindungan untuk objek yang dilindungi: Klik View Protection Rule di kolom Actions untuk objek yang dilindungi yang dituju. Halaman Core Web Protection akan terbuka dan menampilkan template perlindungan terkait, yang terdiri dari aturan perlindungan yang dikonfigurasi.
Tambahkan objek yang dilindungi ke kelompok objek yang dilindungi: Anda dapat mengklik di kolom Actions objek yang dilindungi yang dituju. Atau, Anda dapat memilih beberapa objek yang dilindungi dan mengklik Add to Protected Object Group di bawah daftar.
Lihat log objek yang dilindungi: Jika Anda telah mengaktifkan Log Service, Anda dapat mengklik di kolom Actions untuk objek yang dilindungi.
Hapus objek yang dilindungi: Klik Delete di kolom Actions untuk objek yang dituju. Hanya objek yang dilindungi domain yang ditambahkan secara manual yang dapat dihapus langsung. Untuk menghapus objek yang dibuat otomatis, Anda harus Remove aset tersebut.
Kelola kelompok objek yang dilindungi
Ubah objek yang dilindungi dalam kelompok: Pada tab Protected Object Groups, klik Edit di kolom Actions untuk kelompok guna menambah atau menghapus objek yang dilindungi. Jika objek yang dilindungi dihapus dari kelompok, template perlindungan default akan secara otomatis diterapkan padanya.
Ubah aturan perlindungan untuk kelompok: Pada tab Protected Object Groups, klik Configure Rule di kolom Actions kelompok untuk melihat dan mengubah aturan perlindungan dalam template terkait.
Hapus kelompok: Pada tab Protected Object Groups, temukan kelompok yang ingin dihapus dan klik Delete di kolom Actions.
Kuota dan batasan
Batas jumlah objek yang dilindungi: Jumlah objek yang dilindungi, kelompok objek yang dilindungi, dan objek yang dilindungi yang dapat ditambahkan ke satu kelompok objek yang dilindungi bervariasi tergantung edisi WAF. Untuk informasi selengkapnya, lihat Panduan Edisi. Anda dapat membuka halaman Protected Objects untuk melihat jumlah objek yang dilindungi yang tersedia. Jika Anda telah mencapai batas kuota objek yang dilindungi, hapus objek yang dilindungi atau upgrade edisi Anda.

Aturan reservasi untuk objek yang dilindungi: Untuk instansi langganan, WAF menyimpan kuota untuk domain gratis yang disertakan dalam edisi dan kuota domain tambahan yang dibeli additional domain quotas. Contoh: jika Anda memiliki instansi Pro langganan aktif (yang mencakup 5 nama domain gratis dan mendukung maksimal 600 objek yang dilindungi), dan Anda membeli 2 domain tambahan, WAF akan menyimpan 7 (5+2) slot. Akibatnya, Anda dapat menambahkan hingga 593 (600–7) objek yang dilindungi lagi.
Batasan konfigurasi objek yang dilindungi: Instansi MSE dan domain kustom FC dalam mode cloud native tidak mendukung Cookie Settings. Instansi FC, MSE dalam mode cloud native tidak mendukung Decode Settings.
Lampiran: Pengaturan decoding
Saat Anda mengonboard instans ALB melalui mode cloud native, Base64 Decoding dinonaktifkan secara default. Namun, Anda dapat mengaktifkannya jika diperlukan.
Untuk tipe integrasi cloud hibrida, Anda harus meng-upgrade xagent ke versi 4.1.0 atau lebih baru agar pengaturan decoding berlaku.
Penguraian pasangan kunci-nilai
JSON Data Parsing
Deskripsi: Berdasarkan standar RFC 7159, modul penguraian JSON menyediakan kemampuan penguraian dan restrukturisasi data JSON yang kuat. Modul ini menangani objek pasangan kunci-nilai, array, string, dan angka sekaligus melakukan validasi sintaks, konversi tipe, pemrosesan struktur bersarang, dan decoding Unicode. Pendekatan penguraian standar ini secara signifikan meningkatkan kemampuan WAF untuk mendeteksi konten berbahaya yang disembunyikan dalam muatan JSON.
Contoh:
Input:
{"Hello":"World"}Output:
key:Hello,value:World
XML Data Parsing
Deskripsi: Modul penguraian XML menerapkan mekanisme penguraian dan restrukturisasi untuk Extensible Markup Language (XML) sesuai spesifikasi XML (Rekomendasi W3C). Modul ini mendukung penguraian komprehensif struktur dokumen XML, termasuk identifikasi dan pemrosesan elemen, atribut, konten teks, bagian CDATA, dan instruksi pemrosesan.
Proses penguraian melibatkan validasi sintaks, resolusi referensi entitas, pemrosesan namespace, dan standardisasi struktur dokumen. Dengan menormalisasi penguraian XML, modul ini meningkatkan kemampuan aturan WAF untuk mendeteksi konten berbahaya dalam muatan XML.
Contoh:
Input:
<Hello attr="desc"><![CDATA[World]]></Hello>Output:
key:Hello,value:World;key2:Hello.attr,value2:desc
Form Data Parsing
Deskripsi: Modul penguraian form mengurai dan merekonstruksi data dalam format application/x-www-form-urlencoded berdasarkan standar RFC 1866. Modul ini sepenuhnya mengurai data form HTML, termasuk parameter pasangan kunci-nilai, parameter array, bidang unggah file, dan struktur bersarang. Proses penguraian mencakup decoding URL, penanganan set karakter, identifikasi pemisah parameter, dan konversi tipe data. Standardisasi ini membantu aturan WAF lebih baik mendeteksi konten berbahaya dalam muatan form.
Contoh:
Input:
Hello=WorldOutput:
key:Hello,value:World
Multipart Data Parsing
Deskripsi: Modul penguraian Multipart menerapkan mekanisme penguraian dan restrukturisasi untuk format multipart/form-data sesuai RFC 2046. Modul ini mendukung penguraian komprehensif unggahan file HTTP dan data form kompleks, termasuk identifikasi dan pemrosesan bidang file, bidang teks, pemisah boundary, dan struktur bersarang.
Proses penguraian melibatkan deteksi boundary, penguraian bidang, ekstraksi konten file, dan konversi encoding. Dengan menstandardisasi penguraian multipart, modul ini meningkatkan kemampuan aturan WAF untuk mendeteksi konten berbahaya dalam unggahan file dan muatan form kompleks.
Contoh: Masukkan konten berikut. Parser Multipart mengekstrak
keysebagaiHellodanvaluesebagaiWorld.------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="Hello" World ------WebKitFormBoundary7MA4YWxkTrZu0gW--
GraphQL Parsing
Deskripsi: Modul penguraian GraphQL menerapkan mekanisme penguraian dan restrukturisasi untuk bahasa kueri sesuai spesifikasi GraphQL. Modul ini mendukung penguraian komprehensif kueri GraphQL, definisi variabel, argumen, dan direktif, termasuk identifikasi dan pemrosesan seleksi field, parameter kueri, substitusi variabel, alias, dan kueri bersarang.
Proses penguraian mencakup parameter URL, muatan JSON, kueri GraphQL mentah, dan format unggahan file multipart. Dengan menstandardisasi penguraian GraphQL, modul ini meningkatkan kemampuan aturan WAF untuk mendeteksi konten berbahaya dalam muatan GraphQL.
Contoh:
Input:
HelloWorld{ desc(Hello:"World"){ Hello } }Output:
key:Hello,value:World
Decoding
Base64 Decoding
Deskripsi: Mesin decoding Base64 menerapkan algoritma konversi balik untuk enkode Base64 yang didefinisikan dalam RFC 4648. Modul ini menggunakan set karakter Base64 standar (A-Z, a-z, 0-9, +, /) dan karakter padding (=) untuk pemrosesan standar. Proses decoding mencakup validasi karakter, penanganan padding, penyelarasan byte, dan pemeriksaan integritas data untuk memastikan akurasi dan keandalan transmisi data biner.
Contoh:
Input:
SGVsbG8gV29scmQhOutput:
Hello World!
HTML Entity Decoding
Deskripsi: Mesin decoding entitas HTML diimplementasikan berdasarkan spesifikasi HTML 5.2 (Rekomendasi W3C) untuk mengurai referensi entitas karakter. Modul ini mendukung pemrosesan standar referensi karakter numerik (&#x;) dan entitas karakter bernama (&).
Contoh:
Input:
Hello World!Output:
Hello World!
PHP Deserialization
Deskripsi: Mesin decoding serialisasi PHP menerapkan operasi balik fungsi serialize() PHP. Modul ini, berdasarkan protokol serialisasi PHP, mengurai struktur sintaks format serialisasi, termasuk pengenal tipe (seperti i, s, a, atau O), metadata panjang, dan struktur data rekursif. Proses decoding mencakup validasi tipe, pemeriksaan keamanan memori, dan rekonstruksi graf objek, mendukung penguraian lengkap tipe skalar, tipe majemuk, dan serialisasi objek.
Contoh:
Input:
payload=O:5:"Hello":1:{s:4:"desc";s:6:"World!";}Output:
key:payload.Hello.desc,value:World!
Java Deserialization
Deskripsi: Java Deserialization didasarkan pada protokol serialisasi Java dan menerapkan operasi balik ObjectInputStream. Modul ini mengurai format biner aliran serialisasi Java, termasuk deskriptor kelas, metadata field, dan informasi status objek. Proses decoding mengikuti spesifikasi serialisasi JVM dan mendukung penguraian rekursif graf objek kompleks.
Contoh:
Input:
rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAABdAAFSGVsbG90AAZXb3JsZCF4Output: kelas Java yang diekstrak:
java.util.HashMap
UTF-7 Decoding
Deskripsi: Mesin decoding UTF-7 diimplementasikan berdasarkan standar RFC 2152 untuk konversi enkode karakter panjang variabel. Modul ini memproses penanda enkode UTF-7 (+/-) dan urutan karakter Unicode yang dikodekan Base64. Algoritma decoding mendukung transmisi Unicode di lingkungan ASCII 7-bit, termasuk mesin keadaan enkode, pengalihan set karakter, dan kompatibilitas dengan protokol tradisional, sehingga cocok untuk sistem email dan skenario transmisi pesan MIME.
Contoh:
Input:
+/v8 +AEgAZQBsAGwAbwAgAFcAbwByAGwAZAAh-Output:
Hello World!
Unicode Decoding
Deskripsi: Unicode Decoding adalah mekanisme konversi enkode karakter berdasarkan standar Unicode (ISO/IEC 10646). Modul ini menerapkan penguraian urutan escape UTF-16, mendukung notasi heksadesimal empat byte \uXXXX dan format ekstensi \u{XXXXXX}. Proses decoding mengikuti spesifikasi Unicode 15.0 untuk memastikan enkode karakter standar.
Contoh:
Input:
\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064\u0021Output:
Hello World!
URL Decoding
Deskripsi: URL Decoding didasarkan pada standar RFC 3986 dan menerapkan konversi balik Percent-Encoding. Mekanisme ini menangani enkode karakter tercadang, karakter non-ASCII, dan karakter khusus dalam sintaks URI generik. Algoritma decoding mengikuti spesifikasi tipe MIME application/x-www-form-urlencoded dan mendukung penguraian standar parameter permintaan HTTP.
Contoh:
Input:
Hello%20World%21Output:
Hello World!
Hex Decoding
Deskripsi: Hexadecimal Decoding menerapkan konversi dari string heksadesimal ke data biner berdasarkan standar RFC 4648. Modul ini menggunakan urutan byte Big-Endian dan mendukung set karakter heksadesimal standar (0-9, A-F, a-f). Proses decoding mencakup validasi input, normalisasi karakter, dan penyelarasan byte.
Contoh:
Input:
\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21Output:
Hello World!
Octal Decoding
Deskripsi: Mesin decoding oktal memproses enkode karakter yang diwakili oleh garis miring terbalik diikuti digit oktal, seperti
\123. Modul ini mengonversi angka oktal ke karakter yang sesuai berdasarkan tabel lookup ASCII, mendukung rentang oktal standar 0–377 (setara dengan 0–255 desimal), dan dapat mengurai batch urutan escape oktal dalam teks campuran.Contoh:
Input:
\110\145\154\154\157\040\127\157\162\154\144\041Output:
Hello World!
Dekompresi
Gzip Decompression
Deskripsi: Mesin dekompresi Gzip diimplementasikan berdasarkan standar RFC 1952 dan menggunakan mekanisme dekompresi algoritma kompresi DEFLATE. Modul ini menangani penguraian header format file Gzip (magic number 0x1f8b, metode kompresi, flag), checksum CRC32, dan dekompresi blok data terkompresi. Algoritma decoding mendukung pemrosesan aliran dan dekompresi batch, termasuk manajemen mesin keadaan, penanganan file multi-anggota, dan mekanisme pemulihan kesalahan. Cocok untuk transmisi web, pengarsipan file, dan skenario kompresi data.
Contoh:
Input: data file biner
1f 8b 08 00 11 39 00 69 00 ff 01 0c 00 f3 ff 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 a3 1c 29 1c 0c 00 00 00(disajikan dalam format heksadesimal untuk keterbacaan)Output:
Hello World!
Pra-pemrosesan
Comment Stripping
Deskripsi: Modul penghapusan komentar diimplementasikan berdasarkan standar SQL dan sintaks ekstensi MySQL untuk mengidentifikasi dan menghapus sintaks komentar. Modul ini mendukung dua format komentar yang didefinisikan oleh standar ANSI SQL: komentar satu baris (-- diikuti karakter apa pun hingga akhir baris) dan komentar multi-baris (urutan karakter apa pun yang diapit /* */). Modul ini juga kompatibel dengan sintaks komentar kondisional spesifik MySQL (/*! ... */). Proses ini mencakup identifikasi penanda komentar, penanganan komentar bersarang, penguraian kondisi versi, dan validasi batas sintaks. Dengan menghapus konten komentar, hal ini meningkatkan akurasi mesin aturan WAF dalam mendeteksi pernyataan SQL berbahaya dan secara efektif mengurangi risiko penyerang melewati aturan menggunakan komentar.
Contoh:
Input:
/*!40101 SET */@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT ;Output:
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT ;
Whitespace Compression
Deskripsi: Modul kompresi whitespace menerapkan mekanisme normalisasi untuk karakter whitespace. Modul ini mendeteksi urutan whitespace berurutan dalam string input dan memadatkan beberapa spasi berurutan menjadi satu spasi. Proses ini menangani whitespace awal, akhir, dan tengah berurutan untuk memastikan standardisasi dan konsistensi format teks.
Contoh:
Input:
Hello World!Output:
Hello World!
> View Logs