xss漏洞挖掘与绕过学习总结

xss漏洞普遍存在于数据交互的地方,像常见的登录,搜索,留言,评论等用户可以输入的地方。
挖掘xss大体上可以分为两种:
一,手动挖掘
二,利用工具自动化挖掘
一,手工挖掘
利用火狐中常见的XSS 调试插件:
Hackbar;
Firebar;
Tamper Data;
(1)Hackbar:比较常用的测试插件,支持post,get两种请求方式。

xss漏洞挖掘与绕过学习总结_第1张图片(1),可以对我们的字符串进行编码:像常见的 将其中的经过编码后就是String.fromCharCode(60, 115, 99, 114, 105, 112, 116, 62, 97, 108, 101, 114, 116, 40, 49, 41, 60, 47, 115, 99, 114, 105, 112, 116, 62)
(2),将编码转成html格式
(3),就是将alert中的(xss)进行编码 ,能有效过滤掉单引号之类的限制。
(2),firebug
在页面上右击点击审查元素即可进入firebug,找到测试点后,右击编辑html即可写入测试代码,比如我们想获取当前页面的cookie:即可弹出当前页面cookie值
(3),tamper data :一款类似于burpsuite的抓包工具,抓包之后可以进行改包进行xss调试。
有些xss存在于HTML标签里面,在测试xss时要去闭合HTML标签达到执行,比如存在于文本域尝试去闭合这个标签达到执行。
整理了几个手工xss测试的playload:



">



">
'alert(1)x='

"alert(1)x="

javascript:alert(1)//

";alert(1)//

 即可绕过
第二个在代码后加了个i意思是不区分大小写。这个我们可以采用其他标签比如 src=1 "alert(/xss/)">(这里有onerror显示不出来) 或者采用body标签 (这里的onload显示不出来)即可绕过。
第三种是将alert标签替换,并且不区分大小写,这样就没办法使用alert了,我们可以用它的代码执行对它进行编码,方法:先选中alert(/xss/),然后使用hackbar中的string,fromcharcode也就是第一个选项对它进行编码,然后调用eval+(字符串),如.来进行绕过。

编码

:我们可以对我们的语句进行hex编码来绕过xss规则,比如

你可能感兴趣的:(xss漏洞挖掘与绕过学习总结)