Skip to main content

script_homoglyph_encode

Function script_homoglyph_encode 

Source
pub fn script_homoglyph_encode(payload: &str) -> String
Expand description

Cross-script Cyrillic / Greek letter substitution.

Unlike homoglyph_encode (punctuation-only by design), script_homoglyph_encode substitutes the letters themselves with visually-identical codepoints from Cyrillic + Greek scripts that the WAF regex sees as different bytes. Two sub-classes:

  1. Non-normalising (Cyrillic ѕ U+0455, е U+0435, о U+043E, а U+0430; Greek ο U+03BF, ν U+03BD, …) — backend and WAF both see different codepoints, but MSSQL’s implicit Unicode→varchar coercion maps Cyrillic lookalikes to ASCII via collation (SQL_Latin1_General_CP1_CI_AI).
  2. NFKC-normalising — letterlike block letters (already covered by letterlike_encode).

This function targets class 1 only — for class 2 use letterlike_encode / math_*_encode.