目录
2.5、避开基于签名的过滤
在第一种类型的过滤中, 应用程序通常会对攻击字符串做出与无害字符串截然不同的响应,如通过一条错误消息,甚至会指出发现一个可能的XSS攻击
如果出现这种情况,接下来应该确定输入中的哪些字符或表达式触发了过滤。一种有效的方法是轮流删除字符串的不同部分,看输入是否仍然被阻止。使用这种方法可迅速查明是否是某个特殊的表达式造成请求被阻止。如果确实如此, 那么需要避开过滤
有各种不同的方法可以在HTML页面中引入脚本代码, 这些方法通常能够避开基于签名的过滤。要么找到引入脚本的其他方法, 要么使用浏览器接受的略显畸形的语法
引入脚本代码的方法
有4种不同的方法可用于在HTML页面中引入脚本代码
浏览器对于各种HTML和脚本语法的支持各不相同。个体浏览器的行为也往往会随着新版本的发布而发生改变,任何针对个体浏览器行为的明确指南也很快会过时。但从安全的角度看, 应用程序需要在所有当前和最新版本的常用浏览器中可靠运行。
脚本标签
1、直接使用