xsschallenge1~13通关详细教程

文章目录

XSS 挑战靶场通关

level1

通过观察发现这个用户信息可以修改

那么我们直接输入攻击代码

html 复制代码
<script>alert(/wuhu/)</script>

弹框如下:

level2

发现一个输入框,输入攻击代码观察页面反应

页面将我们的攻击代码进行了打印。

查看网页源代码,发现将我们输入的尖括号进行了转义。

源码

htmlspecialchars(string): 把预定义的字符: "<" (小于)、 ">" (大于)、& 、''、"" 转换为HTML实体,防止浏览器将其作为HTML元素。

impossible级别的代码先判断name是否为空,不为空的话然后验证其token,来防范CSRF攻击。然后再用htmlspecialchars函数将name中的预定义字符 "<" (小于)和 ">" (大于)转换成html实体,这样就防止了填入标签。

预定义的字符如下:

复制代码
& 成为 &amp
" 成为 &quot
' 成为 &#039
< 成为 &lt
> 成为 &gt

这里我们可以闭合该value参数,添加一个onclick属性

onclick 是一个 HTML 属性,用于在用户点击(或触摸)指定的 HTML 元素时触发相应的 JavaScript 代码。

那么我们可以构造其他攻击代码

html 复制代码
" οnclick="alert(99)"

闭合input标签,将语句独立出来

html 复制代码
"><script>alert(/xss/)</script>

level3

查看网页源代码,发现该闭合方式是单引号

构造我们的攻击代码

复制代码
' onclick='alert(/wuhu/) 

level4

查看页面源代码

发现闭合方式是双引号闭合。

构造我们的攻击代码

复制代码
" onclick="alert(/wuhu/)

level5

注入我们的攻击代码

html 复制代码
" οnclick="alert(/wuhu/)

页面没有反应

查看页面源代码

这里将我们输入的事件onclick的on之间添加了下划线。

试一下<script>标签是否可以

html 复制代码
<script>alert(/wuhu/)</script>

同样页面没有弹框,查看页面源代码,发现<script>标签也被添加了下划线。

这里就无法使用事件了,可以使用伪协议,闭合方式为双引号。

构造攻击代码如下:

先将input标签闭合,然后构造超链接标签

html 复制代码
"> <a href="javascript:alert(/xss/)">芜湖</a>

成功弹框

level6

先输入攻击代码查看页面响应

html 复制代码
<script>alert(/wuhu/)</script>

查看页面源码,发现script标签被添加了下划线。

使用响应事件来构造攻击代码

html 复制代码
<a href = "#"  onclick = 'alert(/wuhu/)'>click me!</a>

同样页面没有响应,查看页面源代码,发现响应事件被添加了下划线。

使用伪协议来构造攻击代码

复制代码
<a href = "javascript:alert(/xss/)">click me!</a>

同样页面没有响应,查看页面源代码,发现href被添加了下划线。

采用大小写绕过的方式构造攻击代码:

html 复制代码
"> <SCRIPT>alert(/wuhu/)</SCRIPT>

level7

先输入攻击代码查看页面响应

html 复制代码
<script>alert(/wuhu/)</script>

页面没有响应,查看页面源代码,发现我们的script标签被替换为空了。

查看源码

源码中将script,on,src,data,href标签及属性转换为空。这里可以先使input便签进行闭合,再双写script进行绕过。

构造攻击代码:

html 复制代码
"> <scrscriptipt>alert(/xss/)</scrscriptipt>
" oonnclick="alert(/wuhu/)

level8

先输入攻击代码查看页面响应

html 复制代码
<script>alert(/wuhu/)</script>

页面没有响应,查看页面源代码

发现将我们构造的攻击代码放到了a标签中,并且给script标签添加了下划线。

查看源码

这里将script,on,src,data,href,"进行了过滤,并且在尝试的时候关键字双写不管用。那么这里直接选择不去闭合标签,直接使用伪协议,但是发现javascript也被拆开了。这里可以对伪协议中的字母进行转码。

构造攻击代码:

html 复制代码
javasc&#x72;&#x69pt:alert(/xss/)

level9

发现这关和上一关中的页面差不多,使用上一关构造的攻击代码

html 复制代码
javasc&#x72;&#x69pt:alert(/xss/)

页面没有任何响应,查看页面源代码

查看源码

先写一个正确的链接,然后点击友情链接,页面可以正常跳转

查看页面源代码,这里显示出正常了链接地址。

源代码

这里查看我们注入的代码中是否有http://,如果包含则执行else中的语句,将我们构造的攻击代码输入到href中,如果不包含则在a标签中的href显示指定字符串。

strpos --- 查找字符串首次出现的位置。

构造攻击d代码,将http://加入到alert的()中。

复制代码
javasc&#x72;&#x69pt:alert('http://')

level10

先输入攻击代码查看页面响应

复制代码
http://127.0.0.1/xsschallenge/level10.php?keyword=<script>alert(/wuhu/)</script>

页面没有任何反应,查看网页源代码,发现了三个隐藏的输入框参数分别为t_link,t_history,t_sort。

尝试给这三个参数赋值

发现只有t_sort有值

查看源代码

这里对左右尖括号进行了过滤

那么我们采用给t_sort赋值的方式注入攻击代码:

html 复制代码
t_sort=" type="text" onclick = "alert(/xss/)

查看页面源代码,将之前隐藏的输入框显示出来,并且添加了一个数据鼠标点击事件。

然后点击输入框后弹框

level11

和level10相似,直接查看网页源代码

分别给t_link,t_history和t_sort赋值

发现还是只有t_sort有值

按照上一关的思路进行构造攻击代码

复制代码
t_sort=" type="text" onclick = "alert(/xss/)

页面还是没有反应,查看源代码

发现提交给t_sort的参数被过滤了。

查看源码,既然t_sort不行,这里尝试使用t_ref参数。

t_ref中的value参数获取的是 s t r 33 , str33, str33,str33变量获取的是 s t r 22 , str22, str22,str22变量获取的是 s t r 11 , str11, str11,str11变量获取的是HTTP_PEFERER参数。

修改Referer字段,在该字段构造我们的攻击代码

html 复制代码
" type="text" onclick = "alert(/xss/)

点击输入框

弹框如下

level12

查看源代码

发现这次传递的是USER_AGENT参数

修改USER_AGENT字段,在该字段构造我们的攻击代码

复制代码
" type="button" onclick = "alert(/xss/)

点击页面中的按钮,弹框如下

level13

查看源代码

发现这次传递的是COOKIE参数

修改COOKIE字段,在该字段构造我们的攻击代码

复制代码
" type="button" onclick = "alert(/xss/)

点击页面中的输入框,弹框如下

相关推荐
勒索病毒前线5 小时前
深度硬核|.xr勒索病毒逆向分析与数据救援实战指南(附IOCs排查脚本)
网络安全·黑客攻击·勒索病毒·网络攻击溯源·.xr后缀病毒
五五六六05245 小时前
adb server is out of date. killing...问题的解决
网络安全·adb
汤愈韬5 小时前
DHCP Server服务器拒绝攻击、DHCP Server服务器拒绝攻击防范、端口安全
网络协议·网络安全·security
刘婉晴14 小时前
【kali渗透测试】暴力破解
网络安全·渗透测试
云小逸14 小时前
【网络通信】同一网段与不同网段的通信原理
网络·网络安全
码界奇点1 天前
基于SSM框架的旅游门户网站系统的设计与实现
毕业设计·旅游·xss·源代码管理
heze091 天前
sqli-labs-Less-28a
数据库·mysql·网络安全
unable code1 天前
磁盘取证-Flying_High
网络安全·ctf·misc·1024程序员节·磁盘取证
浩浩测试一下1 天前
DDOS 应急响应Linux防火墙 Iptable 使用方式方法
linux·网络·安全·web安全·网络安全·系统安全·ddos
浩浩测试一下1 天前
洪水猛兽攻击 Ddos Dos cc Drdos floods区别
安全·web安全·网络安全·系统安全·wpf·可信计算技术·安全架构