xss
测试步骤:
1、输入一个几乎不出现的字符串在应用程序中,以其作为每个页面的每一个参数,且每次只针对一个参数,
监控程序响应,看是否出现同样字符串,然后替换字符串为脚本,在进行测试。
2、进行避开过滤测试。
3、post发现xss,要用burp的get同样继续测试.
4、对http消息头进行测试。
实例(如输入myxsstest),进行这些测试时必须对任何特殊字符如&,=+;和空格进行url编码:
1、验证性测试攻击字符串:"><script>alert(document.cookie)</script>,可以用于实现自动化
2、终止包含字符串的双引号,结束之前的html标签,然后通过其他方法引入js脚本,如:
"><script>alert(1)</script>
3、为避开过滤,在该html标签中包含js事件处理器,如标签为<input type="text" name="addr" value="myxsstest">:
" οnfοcus="alert(1)
4、当受控字符串被插入到现有的脚本中,可以终止字符串周围的单引号,用一个分号终止整个语句,然后后直接处理想要执行的js,如:
返回相应是:<script> var a = 'myxsstest' ; var b = 123,...</script>
替换myxsstest为 :';alert(1); var foo=',需要保证脚本正常,另一种方法是使用//结束输入,将剩下的脚本当做注释处理。
5、包含url特性,如返回<a href="myxsstest">click here</a>,这是受控字符串被插入到一个<a>标签的href中,在一些
浏览器中,这个属性可能包含javascript:协议的url,从而使用以下脚本直接利用xss:
javascript:alert(1),也可以注入一个事件管理器:
#" οnclick="javascript:alert(1)