1、Web攻防-XSS跨站-原理&分类&利用点
2、Web攻防-XSS跨站-反射&存储&DOM型
一、XSS跨站-输入输出-原理&分类&利用点
漏洞原理:接受输入数据,输入的数据可以在浏览器输出显示,该输出的数据可以被浏览器解析执行;XSS与JS语句关联性强,有XSS后,JS语句能实现什么操作获取什么信息或权限,都可以利用XSS漏洞构造js语句来执行;
基础类型:反射(非持续),存储(持续),DOM-BASE
拓展类型:jquery,mxss,uxss,pdfxss,flashxss,上传xss等
常用标签:xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户
攻击利用:XSS漏洞利用构造js语句->实现盲打,COOKIE盗取,凭据窃取,页面劫持,网络钓鱼,权限维持等
安全修复:字符过滤,实例化编码,http_only,CSP防护,WAF拦截等
测试流程:看到输出->想输入在哪里->如果输入可控->更改输入代码看能否执行(标签,过滤决定)
二、XSS跨站-分类测试-反射&存储&DOM型
-XSS漏洞容易出现在数据交互的地方
get、post、headers
反馈与浏览、富文本编辑器、各类标签插入和自定义
-数据输出的地方
显示用户资料、数据输出、评论,留言板等、关键词、标签、说明、文件上传
1、反射型XSS或非持续型XSS:(某案例测试)->不与数据库打交道->短暂可利用性->该XSS危害较小
常见情况:①攻击者通过构造一个恶意链接或url的形式->②诱导用户传播和打开访问->由于链接内所携带的参数会回显于页面中或作为页面的处理数据源,最终造成XSS攻击。->由此看出反射型XSS利用条件苛刻,既要攻击者将恶意链接发给用户,还要用户主动访问链接
实战:
2、存储型XSS或持续型XSS:(某案例测试)->与数据库打交道->长期可利用性
存储型XSS是持久化的XSS攻击方式,①输入时将恶意代码存储于服务器端的数据库->②当其他用户再次访问页面时触发,造成XSS攻击。
->例如留言板:在留言板发言后,语句会一直显示在留言板,说明语句被存储进了数据库->如果留言是恶意语句,那么恶意语句也会存在数据库->如果这时用户访问该页面->无论是谁,无论什么时候访问,都会触发该恶意语句
重点:输入的数据,别人会看(XSS高频产生点)(一种是留言板这类的会用户查看,一种是后台管理员会查看看)->只要没做过滤->只要访问一看XSS就被触发
经典案例:某人发带有后门的“大马webshell管理工具”分享给其他人使用->其他人使用后成功拿到某网站的权限->这时这个某人分享的的“大马”后门就会发挥作用->会在他架设的服务器或得消息:某某某拿到某某网站后台权限(在这里这个某人做了一个查看的操作)->如果高手发现了这个大马里面的后面,要进行反制->可以弄一个XSS->一旦这个某人进行查看,XSS被触发(成功反打)
3、DOM-Base型:(某案例测试)
通过修改原始的客户端代码,受害者浏览器的DOM环境改变,导致有效载荷的执行。页面本身没有变化,但由于DOM环境被恶意修改,代码被包含进导致执行。
4、SRC挖洞复盘
上海交大xss漏洞
私信xss
微博两个反射xss
腾讯相册bypass-xss
某鹅邮箱xss