xss检测和绕过方法

xss
测试步骤:
1、输入一个几乎不出现的字符串在应用程序中,以其作为每个页面的每一个参数,且每次只针对一个参数,
监控程序响应,看是否出现同样字符串,然后替换字符串为脚本,在进行测试。
2、进行避开过滤测试。
3、post发现xss,要用burp的get同样继续测试.
4、对http消息头进行测试。

实例(如输入myxsstest),进行这些测试时必须对任何特殊字符如&,=+;和空格进行url编码:
1、验证性测试攻击字符串:">,可以用于实现自动化
2、终止包含字符串的双引号,结束之前的html标签,然后通过其他方法引入js脚本,如:
">
3、为避开过滤,在该html标签中包含js事件处理器,如标签为
" οnfοcus="alert(1)
4、当受控字符串被插入到现有的脚本中,可以终止字符串周围的单引号,用一个分号终止整个语句,然后后直接处理想要执行的js,如:
返回相应是:
替换myxsstest为 :';alert(1); var foo=',需要保证脚本正常,另一种方法是使用//结束输入,将剩下的脚本当做注释处理。
5、包含url特性,如返回click here,这是受控字符串被插入到一个标签的href中,在一些
浏览器中,这个属性可能包含javascript:协议的url,从而使用以下脚本直接利用xss:
javascript:alert(1),也可以注入一个事件管理器:
#" οnclick="javascript:alert(1)

绕过过滤:技巧
pt>alert(1)pt>








<[%00] img onerror=alert(10) src=a>












here here