学习的第十天

XSS-challenge之旅

注:已成功安装XSS-challenge平台为前提。

一、什么是XSS攻击

我们之前所进行的都是sql注入,通过破解网页相关联的数据库来获取我们所需要的东西。那这个XSS也是一种入侵手段,主要盗取管理员的cookie来进入管理员后台,来获取自己想要的东西。下面是百度对XSS的概括。
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
简单来说,XSS 是至少目前来说最普遍的入侵方式,通过在网页上能输入且有回显的地方输入代码,既使网页不报错,又能出现弹窗,被XSS接收平台接收。再由XSS接收平台生成一个假的cookie,再去替换原有的cookie,从而达到不需要管理员的账号密码就能成功进入管理员后台。
嗯~~,我闻到了知识的味道,那就让我们来看看这个XSS-challenge吧。(该挑战只需要成功弹窗即可算成功。)
在这里插入图片描述

level-1

在这里插入图片描述
根据XSS的定义(啊,我总结的那个),我们需要找输入的地方,还是很明显的,就在网址处,修改看看他它会不会有回显
在这里插入图片描述
嗯,会。那么下一步就是检查回显的地方在源代码里的位置,看看能不能通过代码指令成功弹窗。

在这里插入图片描述
在这里插入图片描述
似乎没有什么限制,那么我们只要保证html的基本格式触发弹窗就可以了,
<script>alert(1)</script>.
在这里插入图片描述
嗯,成功。

level-2

在这里插入图片描述
这就更加明显了,直接给了个输入框。
试试,看看会不会回显,以及在源代码里的位置。
在这里插入图片描述
嗯,这次可能就没那么容易,输入的值被<input>框里的value""给框住了,直接输入只有两种可能:
1、报错。
2、直接把我们输入的东西全部回显。
但无论是哪一种情况都不是我们想要的,所以我们只能去闭合输入地方的前后位置,确保不会报错的情况,完成弹窗。我们需要闭合前面的<"还需要闭合后面的">.
所以我们不妨试试"><script>alert(1)</script><'
在这里插入图片描述
嗯,成功。

level-3

在这里插入图片描述
来到第三关,依旧是熟悉的测试,确定位置。
在这里插入图片描述
看上去和上一题没什么变化啊,那就试试上一题答案。
在这里插入图片描述
嗯,果然不行,看上去好像是屏蔽了什么东西,看看输入的位置。
在这里插入图片描述
果然,屏蔽了尖括号,双引号,还将单引号自动转化为了双引号,
在这里插入图片描述
所以我们可以考虑另一种不需要尖括号弹窗。比如HTML DOM 事件,具体是什么呢,大家可以去菜鸟教程里搜素学习,传送门,总之可以理解为没有尖括号通过一些指令来触发的弹窗。
那我们就来试试123' onclick=alert(1)'
在这里插入图片描述
点击后没反应,似乎不太行,后面的引号虽然闭合了,但显得十分不必要,那既然这样,我们就把它们给注释了吧。
尝试123' onclick=alert(1)//
在这里插入图片描述
尝试点击。
在这里插入图片描述
嗯,成功。

level-4

在这里插入图片描述
依旧是尝试,找位置。
在这里插入图片描述
尝试前两题的答案,第一种不太行,再试第二种的时候发现,他似乎没屏蔽双引号。那我们就可以直接尝试123" onclick=alert(1)//
在这里插入图片描述
嗯,成功。

level-5

在这里插入图片描述
测试,位置
在这里插入图片描述
尝试前几题答案。。。。。失败。
在这里插入图片描述
这。。。。。似乎是在onclick之间添加了个下划线。这就很难受了,果断求助大佬们的wp。
哦~~,原来这里需要用一个JavaScript的伪协议来触发弹窗。代码如下
"><a href="javascript:alert(1)">111</a>",其作用就是创建了一个触发弹窗的链接。
在这里插入图片描述
尝试点击。
在这里插入图片描述
嗯,成功。

level-6

在这里插入图片描述
测试,找位置。
在这里插入图片描述
尝试用之前的各种答案,不出意外不行,但JavaScript伪协议似乎有希望,问题是这个下划线怎么解决。
在这里插入图片描述
尝试大小写,能不能解决问题。
"><a hRef="javascript:alert(1)">111</a>"
在这里插入图片描述
有戏耶,尝试点击。
在这里插入图片描述
嗯,成功。

level-7

在这里插入图片描述
测试,找位置。
在这里插入图片描述
尝试用之前的各种答案,不出意外还是不行,但是level-4的方法似乎有希望。似乎是隐藏了onclick的前两个字母
在这里插入图片描述
尝试双写on
在这里插入图片描述
感觉有戏,尝试点击。
在这里插入图片描述
嗯,成功。

level-8

在这里插入图片描述
唔,似乎,又要变一种答题方式了,不过我们还是按套路来。
测试,找位置。
在这里插入图片描述
尝试用之前的各种答案,不行,但是伪协议似乎和别的报错不太一样。
在这里插入图片描述
又是这个下划线,但是加了一个,还是尝试下大小写吧.
在这里插入图片描述
很遗憾不行,强制转化为小写。感觉差一点。。。还是没办法,借鉴下大佬们的wp了。
哦~~~~,果然差一点,要用16进制ASCII编码,来绕过屏蔽
尝试java&#x73;cript:alert(1)
在这里插入图片描述
有戏,尝试点击。
在这里插入图片描述
嗯,成功。

level-9

在这里插入图片描述
跟上题差不多啊,但还是要测试,找位置,尝试之前答案。
在这里插入图片描述
不行,但是用level-8的答案,左下方的提示似乎有点意思。连接不合法?那什么连接是合法的呢。尝试在alert()里填入百度的网站,这总算合法网站了吧。尝试输入java&#x73;cript:alert(www.baidu.com)
在这里插入图片描述
嗯???还是不行吗,是我打错了吗,去复制百度的网址再试一次,尝试输入java&#x73;cript:alert(https://www.baidu.com/)
在这里插入图片描述
还是不行啊,这可咋办啊。。。。。又要去借鉴了。
哦~~~~,原来判定的合法地址的条件是'http://'。。。。这有点片面了哦,百度的网站确实是https://www.baidu.com/啊。。。虽然http://www.baidu.com/也能跳转,但显示的还是https啊。。。。嗯。。。不懂。
在这里插入图片描述尝试输入java&#x73;cript:alert(http://www.baidu.com)

在这里插入图片描述
嗯??不是吧,怎么还没用。。。没反应。。。哦,对了还要注意吧网址用引号框起来。尝试输入java&#x73;cript:alert('http://www.baidu.com')
注:要用单引号,双引号还是没反应。。。原因。。。我试了不行。。。。
在这里插入图片描述
嗯,成功。

level-10

在这里插入图片描述
又回到了没有输入框的题。。。不过没关系,网址上也能输入。。。。。
依旧是测试,找位置,尝试之前题的答案。
在这里插入图片描述

嗯,不行,但知道了屏蔽了尖括号。
通过观察源代码,可以知道,除了我们输入的那个参数外,源代码里似乎也自带了三个参数,尝试个这三个参数分别赋值,观察变化。
在这里插入图片描述
嗯,只有第三个有反应,又屏蔽了尖括号,那么尝试输入t_sort=123"onclick="alert(1)在这里插入图片描述
嗯,感觉可惜,但是这个命令需要点击输入框或者按钮才能触发弹窗,题目没给,那我们只能自己加一个了。尝试输入t_sort=123"onclick="alert(1)" type="button
在这里插入图片描述
尝试点击按钮。
在这里插入图片描述
嗯,成功。

呼,做完了十个挑战,稍微休息一下下吧。

简单总结,今天的学习了解了XSS的各种触发弹窗选择,也了解了网页所设定的各种限制,也算是一种和网站管理员斗智斗勇的感觉吧。
去逛了逛大佬们的wp看了看他们的解题思路,感觉学习到了很多,也觉得自己还有很长的路要走。

加油,会更好的,冲!















其实还是有个小疑问的,就是level-3的一种解法
如下:
alert()用双引号给括起来,似乎也行。
尝试123'onclick'alert(1)
在这里插入图片描述
尝试点击,
在这里插入图片描述
嗯,成功。
但为什么,后面的一个单引号直接没了,有没有大佬能给解答一下下,万分感谢。。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值