ASP.NET触发请求验证错误的所有危险字符组合完整列表是哪些?
ASP.NET 请求验证触发规则说明
ASP.NET 内置的「潜在危险请求检测」逻辑没有单独的公开危险字符列表,它基于模式匹配实现,所有触发场景可从官方框架源码中整理得到,完整规则如下:
- 小于号
<后紧跟任意非空白字符,比如<a、<1、<测试都会触发;单独的<或<后紧跟空格、换行、制表符等空白字符时不会触发 - 出现
&#字符组合,无论后续跟什么内容都会触发,用于拦截HTML实体编码的注入 payload - 出现
<%字符组合,这是ASP.NET服务端代码的开头标记,会直接触发验证 - 出现
<!字符组合,用于拦截HTML注释、DOCTYPE声明等标签类 payload - 出现
<
