首页 > 其他分享 >xss漏洞攻击复现(xssgame靶场通关)

xss漏洞攻击复现(xssgame靶场通关)

时间:2023-06-26 21:11:13浏览次数:36  
标签:xss xssgame 输出 弹窗 构造 alert 复现 payload 输入

 

这篇文章简单的介绍下xssgame的通关方法,从名字可以看出,xssgame就是针对xss攻击进行专门的漏洞复现,由易到难。

 

链接:https://pan.baidu.com/s/1F9I7iBdu7MPLLvegM5kAQg

 

提取码:469c

 

这是xssgame的安装包,将它放到phpstudy/WWW文件夹下访问即可

 

第一关

 

这一关没有任何过滤,直接构造

 

<script>alert(123456)</script>

 

 

第二关

 

先输入上一关的<script>alert(1)</script>会被服务器做编码转换<>被转换为&lth和&gt

 

 

从源码中可以看出,搜索的内容依然被做了 html 编码,但是输入的查询内容,被带入到了 input 的标签,通过">进行闭合,构造payload

 

"><script>alert(1)</script>

 

 

查看源代码,更好理解了这样做的原因

 

 

第三关

 

尝试输入<script>alert(123456)</script>,没有弹窗,然后查看源文件,可以看出Payload 两处输出位置,并且发现<>都被编码代替了。

 

 

 发现value这里是单引号,所以可以尝试闭合标签,通过事件触发弹窗

'onmouseover='alert(1)

 

第四关输入<script>alert(1)</script>查看页面源码发现上面的<>被替代,下面的<>被删掉

 

所以这里我们使用事件触发窗口,构造payload

 

"onmouseover="alert(1)

 

 

第五关

 

输入<script>alert(1)</script>查看页面源码,上面做了编码替代,下面的script被分开

 

 

尝试"onmouseover="alert(1),发现on被分开

 

 

这里尝试利用<a>标签,构造payload 如下

 

"><a href="javascript:alert('a')">1</a >//

 

点击链接 1,触发弹窗

 

 

查看网页源代码,它是将input标签进行闭合,又增加了一个a标签构造了一个链接,//把后面的注释掉

 

 

第六关尝试输入payload,并观察输出位置,仍然是两处输出

 

<script>alert(1)</script>
"onmouseover="alert(1)
"><a href="javascript:alert('a')">1</a>//
"><img src="javascript:alert('a')">1</img>//

 

 

发现<sccript> ,on,herf,src都被分隔开了,换一种思路,可以将关键词变为大写

 

"ONmouseover="alert(1)

 

 

 

 

 第七关

 

尝试输入,并观察输出位置

 

<script>alert(1)</script>

 

发现script被过滤

 

 

接下来尝试上一关的语句们也不行,大写也不行,可以试试双写,注意语句的闭合

 

"><scrscriptipt>alert(1)</scrscriptipt>

 

 

第八关

 

老样子,尝试输入,并观察输出位置

 

<script>alert(1)</script>

 

发现有两处输出,一处使input标签,一处是a标签

 

 

此处构造 payload,需要考虑在 a 标签内,并绕过敏感字符。因为关键字符被做了替换,包括 script\herf\src\on\等,大小写也不行。
这里尝试构造特殊的字符处理,就是在关键词中添加特殊的制表符,例如%OA,%09,例如构造 payload Javascri%0Apt:alert(1) javascri%0Apt:Aalert(1) 特别注意:payload 在搜索框中输入时,会被浏览器进行编码,从而导致不能执行,payload 需要在 url 直接输入。

 

 

第九关

 

第九关与第 八 关类似,都是写入链接,并点击友情链接。本关会强制检查如果输入的参数不含 http://,就认为是非法链接,无法插入到链接中,因此构造参数必须包含 http://,同时敏感字符被做了替代,需要做变换,采用与第 8 关类似的思路,构造如下 payload:与第 8 关一样,payload 需要在 url 中构造,防止浏览器的编码。

 

能从结果中看到已经被写入到了 a 标签内,但是没法执行

 因此需要变换格式为

javascript:alert(1)//http:// 成功执行弹窗

第十关

从页面看,没发现输入参数的地方,只能在 URL 输入参数,从输出位置看,被编码代替了。但是从源码中发现,存在 3 个隐藏表单,因此可以在访问页面时,尝试修改隐藏表单,看看返回结果。 type="hidden"含义是隐藏类型 修改表单之后,输入任意字符,即可出发弹窗。

 

 

 第十一关方法和上面的第十关一样

 

第十二关

 

查看网页源代码

 

 

由此可以判断出 http 请求的 u-agent 字段内容将输出到 input 的 value 中。因此此处可以通过 u-agent 字段传递 paylaod,构造如下 payload

 

刷新页面,通过 burp 抓包,更改 u-agent 字段

 

 

 

输入任意字符,弹窗

 

 

第十三关

 

查看网页源代码

 

 

从返回结果中,直接查看源文件,看到 t_cook 隐藏字段,由此判断此处应该是请求中的cookie 字段被输出到了这个隐藏字段。
因此构造的 payload 的输出位置应该在 cookie 字段。刷新页面,用 burp 抓包,更改 cookie 字段

 

 输入任意字符,弹窗

 

第十六关

 

按照以前的方法测试,发现都不行。本关过略了 script,空格,以及/,输出位置为 center 中间,因此 payload 构造需要避免这些出现空格可以用%0d,%0a 代替

 

<img%0Dsrc="1"%0Donerror=alert(1)>

 

<img%0asrc=1%0aonerror=alert(1)>

 

<iframe%0asrc=x%0donmouseover=alert`1`></iframe>

 

 

第十七关

 

在url中添加参数,查看页面源代码,查看输出位置

 

 

构造 payload,直接构造 onm ouseover=alert(1),附加在 b 参数后面,鼠标滑过,弹窗

 

 

第十八关

 

尝试更改参数,观察输出位置跟 17 关没有区别,也是同样位置。构造同样的 payload,onmouseover=alert(1),附加在 b 参数后面,鼠标滑过,可以弹窗

 

 

 

标签:xss,xssgame,输出,弹窗,构造,alert,复现,payload,输入
From: https://www.cnblogs.com/heiwa-0924/p/17506720.html

相关文章

  • 学习爬虫入门3,正则表达式,代码复现
    正则表达式写回调函数def (self,response) ......
  • 福昕Foxit PDF远程代码执行漏洞CVE-2023-27363分析与复现
    漏洞概述福建福昕软件开发股份有限公司是一家国际化运营的PDF电子文档解决方案提供厂商,提供文档的生成、转换、显示、编辑、搜索、打印、存储、签章、表单、保护、安全分发管理等涵盖文档生命周期的产品技术与解决方案。其下产品FoxitPDFReader和FoxitPDFEditor的javascript函......
  • 跨站脚本攻击XSS(二)
    一、跨站脚本攻击XSS概述XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、Flash或者甚至是普通的HTML。......
  • 记一次Nacos漏洞的复现 --> 身份认证绕过漏洞(QVD-2023-6271)
    前记端午前两天,遇到公司某客户的站点是Nacos,随后就是网上搜一波漏洞,搜到QVD-2023-6271,故做以下记录漏洞复现漏洞描述漏洞原理为开源服务管理平台Nacos在默认配置下未对token.secret.key进行修改,导致远程攻击者可以绕过密钥认证进入后台造成系统受控等后果。漏洞信息漏洞......
  • 代码审计——XSS详解
    01漏洞描述跨站脚本入侵(CrossSiteScript)是一种将恶意JavaScript代码插入到其他Web用户页面里执行以达到入侵目的的漏洞。入侵者利用应用程序的动态展示数据功能,在html页面里嵌入恶意代码。当用户浏览该页之时,这些嵌入在html中的恶意代码会被执行,用户浏览器被入侵者控制,从而达到......
  • prize_p5 复现
    很有意思的一道题目,预期解就是通过字符串逃逸去读取flag非预期就是通过十六进制利用原生类去读取flag <?phperror_reporting(0);​classcatalogue{  public$class;  public$data;  publicfunction__construct() {    $this->class="error"; ......
  • XSSFClientAnchor 设置偏移无效 setDx setDy
    一、XSSFClientAnchor设置偏移无效setDxsetDy 原因是因为setDx,setDy所需要的x值y值并不是sheet.getColumnWidth(colNo)的值和row.getHeight()的值,而是需要进行一些转换。由于转换系数比较大,所以一般设个几百上千做测试基本是没反应,看起来就像没设置一样。这里先提供一下思......
  • 论文专利复现1-微光夜视鱼眼镜头的研究与设计
    论文专利复现1-微光夜视鱼眼镜头的研究与设计-(上)原文阅读与分析 参考文献:[1]高秋娟,徐云辉,姜华,狄世超,贺永喜.微光夜视鱼眼镜头的研究与设计[J].光学与光电技术,2021,19(04):80-85.DOI:10.19519/j.cnki.1672-3392.2021.04.012.结构要求:1、工作波长为0.587μm、0.656μm......
  • 深度学习计算机视觉相关代码可复现论文整理分享
    因此,作为【论文复现项目】的补充,本项目的宗旨也是让世界上没有难读的论文。目录内容截图......
  • DVWA靶场之XSS通关详解
    原理XSS漏洞是攻击者将恶意代码注入到合法网页中,当用户浏览该页面时,恶意代码会被执行,从而获取用户敏感信息或进行其他攻击。形成原因网站对用户输入数据的过滤不严格或不完备,攻击者可以根据这个漏洞向网站提交恶意代码,然后再将这些代码传播给其他用户,从而造成危害。防御措施......