XSS过关挑战之xss-challenge

目录

一. 描述

二. 通关

level 1

level2

level3

终极测试代码

level4

level5

level6

level7

level8

level9

level10


一. 描述

xsschange是一个xss过滤的绕过通关靶场,总共有20关,通过其可以进行练习如何绕过xss的过滤。将文件放在网站目录下进行访问即可,如下

下载地址:传送门 -》xss-challenge

二. 通关

level 1

点击图片进入第一关1,看到,通过get的方式进行传值,输入什么就会输出什么

尝试输入 <script>alert(/xss/)</script>,并没有做任何的过滤,过关成功

level2

我们输入后,并没有进行弹窗

抓包后发现,<>大于小于号被转换成了HTML实体,把 < 和 > 转换为实体常用于防止浏览器将其用作 HTML 元素。但是用户又需要在页面上显示输入时,转换为HTML实体能防止代码的运行。关于htmlspecialchars() 函数 ,传送门 -》 htmlspecialchars() 函数

查看源代码,将输入的字符中的 "<" (小于)和 ">" (大于)转换为 HTML 实体。

但是我们在源码中发现了,我们的输入还有一个输出,被放在了value属性值中

此时我我们尝试把input表单闭合,将我们输入的语句给独立出来,构造

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

成功弹窗

level3

为了更好的发现程序给我们过滤了什么字符,我们使用一点测试<SCR<script>IPT>:'"()OonNhrefjavascript

终极测试代码

<SCR<script>IPT>:'"()OonNhrefjavascript

将其输入到输入框,查看源代码,发现程序过滤了尖括号和双引号

但是这里没有过滤单引号啊,将value值闭合,再添加一个事件

' οnfοcus='alert(/xss/)

当鼠标点击输入框就进行弹窗

level4

输入终极测试代码,点击搜索,查看源代码

发现直接将尖括号过滤了

构造value属性值闭合,添加事件

" οnfοcus="(alert(/xss/))

level5

输入终极测试代码,点击搜索,查看源代码,发现在script和on中添加了下划线。我之前说过xss的构造有四种方式,第一种是利用尖括号构造script标签,第二种是利用伪协议,第三种是利用html事件,第四种是构造svg标签。由于这里过滤了script和on,而第一种构造方式需要用到script,第三种和第四种方式用到了关键字on,所以这里利用伪协议进行构造

首先将input标签进行闭合,构造方式如下

"> <a href="javascript:alert(/xss/)">touch me!</a>

level6

输入测试代码,发现,这里在上一关的基础上增加了对href的过滤,但是这里没有进行大小写转换,所以SCRIPT就没有进行过滤

闭合标签

"><SCRIPT>alert(/xss/)</SCRIPT>

level7

输入测试代码,查看源代码,如下,将script关键字进行了单词过滤,所以这里可以,将input便签进行闭合,再双写script进行绕过单词过滤

"><scscriptript>alert(/xss/)</scscriptript>

level8

<SCR<script>IPT>:'"()OonNhrefjavascript

查看源码,发现javascript也被拆开了,于是我们在这里javascript中间添加一些控制字符,来将其打撒

javascr&#9;ipt:alert(/xss/)

level9

输入测试代码,点击添加友情链接

 显示我们的链接不合法

此时我们在前面添加个http:// ,发现可以了,猜想系统依据输入的词中有么有http://有则是合法的,然后传入进去

http://<scr<script>ipt>:'"()oonnhrefjavascript

构造如下:

javascr&#9;ipt:alert('http://')

level10

输入测试代码

查看源码,发现在h2标签出现了我们的输入,这里的过滤是绕不过去的。但是下面发现了几个隐藏的表单

我们对表单进行传值看看能不能输出

?t_link=a&t_history=b&t_sort=c

查看源码,发现第三个表单会进行输出

输入终极测试代码,看第三个表单过滤了什么,发现把尖括号给过滤了

构造闭合,添加事件,将type属性改为button

?t_sort=" οnfοcus="alert(/xss/)" type="button

点击按钮,弹窗

猜你喜欢

转载自blog.csdn.net/qq_44159028/article/details/114778067
xss
今日推荐