• 【web-攻击用户】(9.1.4)查找并利用XSS漏洞--反射型


    目录

    查找并利用反射型XSS漏洞

    2.5、避开基于签名的过滤

    引入脚本代码的方法

    脚本标签

    脚本伪协议

    2.6、避开过滤:HTML

    简述:

    标签名称

    标签名称后的空格

    属性名称

    属性分隔符

    属性值

    标签括号

    字符集

    2.7、避开过滤:脚本代码

    简述:

    使用JavaScript转义

    动态构建字符串

    替代eval的方法

    替代圆点

    组合多种技巧


    查找并利用反射型XSS漏洞

    2.5、避开基于签名的过滤

    在第一种类型的过滤中, 应用程序通常会对攻击字符串做出与无害字符串截然不同的响应,如通过一条错误消息,甚至会指出发现一个可能的XSS攻击

    如果出现这种情况,接下来应该确定输入中的哪些字符或表达式触发了过滤。一种有效的方法是轮流删除字符串的不同部分,看输入是否仍然被阻止。使用这种方法可迅速查明是否是某个特殊的表达式造成请求被阻止。如果确实如此, 那么需要避开过滤

    有各种不同的方法可以在HTML页面中引入脚本代码, 这些方法通常能够避开基于签名的过滤。要么找到引入脚本的其他方法, 要么使用浏览器接受的略显畸形的语法


    引入脚本代码的方法

    有4种不同的方法可用于在HTML页面中引入脚本代码

    浏览器对于各种HTML和脚本语法的支持各不相同。个体浏览器的行为也往往会随着新版本的发布而发生改变,任何针对个体浏览器行为的明确指南也很快会过时。但从安全的角度看, 应用程序需要在所有当前和最新版本的常用浏览器中可靠运行。


    脚本标签

    1、直接使用