我想创建一个 ip6tables 规则来检测一些众所周知的针对网页的 SQL 注入尝试。例如:字符串“管理员' 或 '1'='1“
此字符串应在 HTML 主体中或通过 URI 发送:通过 URI 发送此字符串如下所示:wwww.webpage.comn/unsafe_home.php?username=admin%27+或+%271%27%3D%271密码=blablabl
因此,特殊字符根据 ASCII 表以十六进制代码表示。
但我绝对不能编写一些规则来精确匹配这个字符串,也不能只匹配“‘”的性格。
ip6tables - I forward 1 -p tcp --dport 80 -m state --state ESTABLISHED -m string --hex-string "|27|" --algo bm -j LOG --log-prefix "HEX-TEST"
只有当我单独测试 admin 字符串时才成功匹配。
ip6tables - I forward 1 -p tcp --dport 80 -m state --state ESTABLISHED -m string --string "admin" --algo bm -j LOG --log-prefix "ADMIN_TEST"
知道如何编写一些正则表达式来匹配带有特殊字符的整个字符串吗?提前谢谢您。