XSS闯关游戏

Level 1

 基础的脚本构造。我利用了hackbar,loadurl获取地址,将name的值修改成script构造的payload,execute:

Level 2

 先在输入框中随便输入测试payload,之后看了页面源代码:

 没有大小写、双写、编码等问题,因此想着构造闭合payload    

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

 前面的双引号和尖括号能和前面value做闭合,后面执行弹窗

Level 3

 先使用测试payload做测试

 

 查看网页源码,尖括号、双引号、单引号都被编码了,但是单引号没有被编码,所以考虑单引号与事件触发做闭合

Level 4

 

 查看源码发现尖括号被隐藏了,所以考虑用事件触发做payload

Level 5

测试payload做完测试,查看网页源码。script在R和I中间加了横线,在on中间加了横线防绕过 。所以考虑先做闭合后面跟上超链接,超链接里面的链接属性值是javascript

Level 6

测试payload查看网页源代码发现:和第五关几乎一样,只不过第一个O成了大写,所以先试用超链接做测试。

 没有链接显示了,查源码

 href也被规避了,考虑将href替换成大写试试:

 Level 7

测试payload查看网页源码,script整个被规避了。但是留了一个on。所以考虑双写绕过

前后script都利用了双写,成功!!!

 Level 8

 尖括号、双引号都被编码了,从下面href的值也可以看出script会被规避。

一开始考虑了伪协议javascript:alert(1),其中的script被规避了。所以将s进行了html编码

 Level 9

 与第八关类似,尖括号、双引号都被编码了,href开始提示链接不合法;先用上一关的payload尝试一下:

链接不合法,尝试baidu.com的链接

 是个成功且合法的链接了!!!将baidu.com换成脚本

 提示script被规避了

所以:s换成编码,要有能被识别成链接的http://

java&#x73;cript:alert('http://1')

 Level 10

 没有输入框了,查看发现是get请求方式传递参数。

 所以,利用hackbar工具将参数写在url地址后面

提交请求,网页并没有变化。

没有接收值的keyword,但是有三个参数和空值,可以去尝试三个参数

 

测试到t_sort的时候有所变化了。点click

Level 11

查看网页源代码,比上一关多了一个ref参数,仿写上一关的payload注入网页并无变化。

 根据经验或者变量名猜测t_ref是请求格式里面的referrer变量,所以抓包!

(火狐浏览器装BP插件)

如果直接在referer里面修改值不对劲,所以value处是要闭合的

 Level 12

 在hackbar上进行输入值测试,查看网页源代码,是ua的参数值,抓包!

 修改ua的值

 

 Level 13

 测试payload之后,查看网页源代码。依旧需要抓包

 修改cookie中user的内容;(不要整个cookie都修改)

click" type="button" onclick="javascript:alert(1)"

 Level 14

太难了

 一打开就是这个界面,懵逼ing~~~~~

查看网页源代码:是个内联链接,但是链接网站不成功。

 偷学的方法:

        需要在本地创建一个xss.php

<<script>
    window.alert = function()
    {
        confirm("good!");
        window.location.href="level15.php?src=1.gif";
    }
</script>
<?php
$id = $_GET['id'];
echo $id;
?>

 访问该php文件,并且id值测试payload

 。。。。。。。。

Level 15

越来越考验我为数不多的头发

 在后面注入真的非常非常慢啊

发现一个ng-include函数

        在html文件中包含外部的html文件;

        如果单纯指定地址,必须要加引号'

        加载外部html,script标签中的内容不执行,含有style标签样式可以识别

 修改参数:

 在链接里将第一关的地址和测试payload构造成注入代码

 查看源码发现尖括号被编码了。

在经过一上午的模仿尝试之后依旧不行,第一步引入level1.php的文件就失败了,又偷学了另一个师傅的一招:换Angela的js

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>

 神奇的结果出现了,level1的页面被引出来了

成功!!!撒花✿✿ヽ(°▽°)ノ✿ 

 

Level 16

经测试payload可以看出 ,script和on都被过滤了,换成img试一试:

 换成img发现空格也被编码了。将空格换成%0a尝试

完成~撒花~~~

Level 17

经过测试payload测试,发现尖括号被编码了

 embed标签支持onXXXXXX事件,考虑onmouseover事件

 双引号也被编码了;火狐浏览器不支持插件没有办法弹出来。换成谷歌一试:成了

Level 18

和第十七关很像。差异就是script、字母没有被过滤,大小写敏感,尖括号、双引号被编码了。

 

emmmm,竟然和上一关一样。好伐

Level 19

Level20 

人生无难事 只要肯放弃

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值