




XSS跨站-输入输出-原理&分类&利用点
什么是跨站脚本攻击
跨站脚本攻击(xss),指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。
漏洞原理:接受输入数据,输出显示数据后解析执行(接收你提交的值,把你提交的值输出到页面中所造成的安全问题,只要这个值受你的控制,这里就会造成XSS)
基础类型:
反射(非持续)
反射型跨站脚本也称作非持久型、参数型跨站脚本、这类型的脚本是最常见的 ,也是使用最为广泛的一种,主要用于将恶意的脚本附加到URL地址的参数中。
存储(持续)
存储型XSS:持久性,代码是存储在web服务器 中的,比如在个人信息或发表文章等地方插入代码,如果没有过滤或者过滤不严,那么这些代码将存储在服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫、盗窃cookie。每一个访问特定页面的用户,都会受到攻击。
DOM-BASE
DOM型XSS无需和后端交互,而是基于JavaScript上,JS解析URL中恶意参数导致执行JS代码
拓展类型:jquery,mxss,uxss,pdfxss,flashxss,上传xss等
常用标签:https://www.freebuf.com/articles/web/340080.html
攻击利用:盲打,COOKIE盗取,凭据窃取,页面劫持,网络钓鱼,权限维持等
安全修复:字符过滤,实例化编码,http_only,CSP防护,WAF拦截等
测试流程:看输出想输入在哪里,更改输入代码看执行(标签,过滤决定)
#XSS跨站-分类测试-反射&存储&DOM型
-数据交互的地方
- get、post、headers
- 反馈与浏览
- 富文本编辑器
- 各类标签插入和自定义
–数据输出的地方
- 用户资料
- 数据输出
- 评论,留言等
- 关键词、标签、说明
- 文件上传
1、反射非持续型:(某案例测试)
常见情况是攻击者通过构造一个恶意链接的形式,诱导用户传播和打开,由于链接内所携带的参数会回显于页面中或作为页面的处理数据源,最终造成XSS攻击。
2、存储持续型:(某案例测试)
存储型XSS是持久化的XSS攻击方式,将恶意代码存储于服务器端(数据库中),当其他用户再次访问页面时触发,造成XSS攻击。
3、DOM-Base型:(某案例测试)
通过修改原始的客户端代码,受害者浏览器的DOM环境改变,导致有效载荷的执行。页面本身没有变化,但由于DOM环境被恶意修改,代码被包含进导致执行。
