HEX
Server: LiteSpeed
System: Linux spg20.cloudpowerdns.com 5.14.0-611.35.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 25 03:46:09 EST 2026 x86_64
User: carrerup (3153)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //opt/bitninja-waf3/coreruleset/regex-assembly/944150.ra
##! Please refer to the documentation at
##! https://coreruleset.org/docs/development/regex_assembly/.

##! The following is an expansion of
##! (?:\${[^}]{0,15}\${|\${(?:jndi|ctx))
##! where every character also matches the equivalent named HTML entity.
##! It is a workaround for the shortcomings of `htmlEntityDecode`, which
##! handles numerical HTML entities well but only handles 5 named
##! entities. The official list of named entities can be found here:
##! https://html.spec.whatwg.org/multipage/named-characters.html.
##!
##! Note:
##!     - We don't match `}` or `}` because it would enable more
##!         evasions while also increasing the number of potential false positives.
##!         The risk of false negatives in this case is acceptable.
##!     - Omitting the terminating semi-colon can be used as an evasion with lenient
##!         parsers. We catch those by making the semi-colon optional.


##!+ i

(?:\$|$?)(?:\{|&(?:lbrace|lcub);?)[^}]{0,15}(?:\$|$?)(?:\{|&(?:lbrace|lcub);?)
(?:\$|$?)(?:\{|&(?:lbrace|lcub);?)(?:jndi|ctx)