XSS-Labs靶场1---11关

一、XSS环境搭建:

[ 靶场环境篇 ] XSS-labs 靶场环境搭建(特别详细)_xss靶场搭建-CSDN博客

该博主总结的较为详细,若侵权必删

常用的xss攻击语句:

输入检测确定标签没有过滤后,为了显示存在漏洞,需要插入 xss 攻击代码。
常用的语句:

#上面的确实是有点多了,这里列举几个常用的:
<svg onload=alert(1)>
<img src=1 onerror="alert(1)">
<script>alert(1)</script>
<a href="javascript:alert('xss')">aaa</a>

less-1:

第一关算基础关卡,本身没有什么考点:

我们看到代码回显出test,随后我们查看源码。

这里是直接使用get传参,将值传入str中。

随后我们直接使用payload:

?name=<script>alert(1)</script>

随后完成该关:

less-2:

 我们使用第一关的方法进行测试:

 随后发现即使代码正常闭合,但我们并未得出结果,此时我们查看源码:

我们要完成双引号的逃逸:

第一种方法(用onclick点击事件逃逸出双引号限制)

aaa"onclick="alert(1)

第二种方法:

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

逃逸成功。 

less-3:

尝试第二关的方法:

aaa"onclick="alert(1)

此刻双引号是蓝色的,并未完成闭合, 随后我们查看源码:

此时,form表单中的input是单引号闭合,我们直接使用payload:

'aaa onclick='alert(1)

 我们使用单引号进行逃逸:

逃逸成功。

less-4:

我们继续尝试前两关的payload尝试:

aaa"onclick="alert(1)

我们仔细一想,两关考察的知识点不可能相同,随后我们查看代码: 

 仔细观察,发现过滤的是<>符号,所以我们无法使用第一关中的第一种方法进行逃逸,即下述方法:

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

故只需要使用onclick点击事件,绕过尖括号即可。

less-5:

我们继续用前两关的payload方法进行测试:

"aaa onclick="alert(1)

我们仔细观察,onclick变成了o_nclick,我们查看源码:

将script和onclick事件全部过滤,我们需要考虑其他的点击事件,且由于有strtolowers(),所有的大写字母都会被转成小写,我们无法使用Onclick进行payload注入

此刻,我们考虑使用伪代码的方式进行过滤:

"><a href=javascript:alert(1)>aaa</a><"

逃逸成功 。

less-6:

查看源代码:

过滤了如此多的代码,我们初看可能没有头绪,但仔细发现,即使过滤了如此多的代码,单并没有了上一关的strtolowers()函数,我们可以使用大小写混合拼写来完成逃逸。

"aaa Onclick="alert(1)

less-7:

话不多说,我们继续使用我们最基础的payload进行测试。

仔细发现,我们的onclick()点击事件直接中的on直接消失了,我们查看源代码:

又是过滤了如此多的字符,但是我们可以使用其他的方法进行逃逸。(例如双写  )

"aaa oonnclick="alert(1)

 逃逸成功。

less-8:

这关有添加连接,所以我们我们考虑伪代码的方式。

"><a href=javascript:alert(1)>aaa</a><"

添加完成后查看代码,发现括号并未闭合,此时我们查看源码:

我们可以看出此关屏蔽了大小写,屏蔽了大多数符号,同时进行了大小写符号转换,此时我们考虑使用html的实体编码来完成本关的payload注入。

随后我们将转义后的伪代码进行验证: 

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1)

我们可以看出代码已经闭合,逃逸成功。

less-9:

能看到仍然具有上一关所拥有的友情链接,我们使用上一关的payload注入查看。

链接不合法,我们查看源码:

能看出问题出现在if语句中,由于我们要对$str7进行判断,看是否有'https://'语句,所以我们加上:

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x0a;
alert(1) //http://

 

逃逸成功。 

同时,我们还可以将http放入alert语句中:

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x27; http:// &#x27;&#x29;&#x0a;

同样也可以逃逸成功。 

less-10:

初看less10,没有input标签,所以我们通过f12查看源码过后,type值被隐藏了,我们查看源码:

keyword=t_link=aaaa&t_history=bbbb&t_sort=ccccc"onclick="alert(1)

 很明显,参数进来了,通过源代码我们可以得知,t_sort为隐藏的传参方法,所以我们需要将其方法改为type类型。

?keyword=t_link=aaaa&t_history=bbbb&t_sort=ccccc" type="text" onclick="alert(1)

逃逸成功。 

less-11:

此关仍然没有input输入框,我们使用第十关的payload进行注入:

?keyword=t_link=aaaa&t_history=bbbb&t_sort=ccccc" type="text" onclick="alert(1)

没有结果,我们查询源码:

可以看到HTTP_REFERRE()函数,但该函数有什么意思呢?

我们查询资料,可以得出Referer是跳转函数,我们通过查看第十一关的referer的值,发现他其实是由第十关跳转过来的,故我们考虑需要在此基础上想出payload方法。

此时,我们需要用一款名叫Hackbar的插件(该插件我只在火狐上找到,若有其他方法,欢迎补充) 

渗透测试-浏览器插件-Hackbar的安装与使用教程-CSDN博客(该博主总结的较为详细,可以参考,若侵权则必删除)

下图即为Hackbar插件成品:

我们导入url后,再选择Referer输入:

aaaa" type ="text" onclick="alert(1) 

随后点击触发即可完成:

 逃逸成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525488.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2024】Python入门教程从零基础入门到精通,看这一篇就够了

对于刚开始接触Python的小伙伴来说&#xff0c;没有思路方法&#xff0c;不知道从何开始学习&#xff0c;把软件环境安装好后就不知所措了&#xff01;接下来我给大家分享下多位大牛倾力打造的python 系统学习流程&#xff0c;一个月才设计完的&#xff01; 一、学习Python的4…

redis缓存满了的话会发生什么?

线上问题 未及时加监控&#xff0c;导致线上redis被逐出&#xff0c;业务有损 示例&#xff1a; 一个key临时存储在redis等缓存中&#xff0c;如果该key在一段时间内有很大作用 比如一次业务请求&#xff0c;上游服务写入一个value&#xff0c;时长1小时&#xff0c;下游服务…

蓝桥杯刷题5--GCD和LCM

目录 1. GCD 1.1 性质 1.2 代码实现 2. LCM 2.1 代码实现 3. 习题 3.1 等差数列 3.2 Hankson的趣味题 3.3 最大比例 3.4 GCD 1. GCD 整数a和b的最大公约数是能同时整除a和b的最大整数&#xff0c;记为gcd(a, b) 1.1 性质 GCD有关的题目一般会考核GCD的性质。   …

QGridLayout网格布局和QVBoxLayout垂直布局有着非常大的差别

QGridLayout网格布局&#xff1a;1.把这块控件划分成一个个的 单元格 2.把你的控件填充进入 单元格 3.这些有关限制大小的函数接口统统失效 setMaximumWidth&#xff08;&#xff09; setMinimumWidth() setPolicySize()图示&#xff1a;我是用的网格布局&#xff0c;左边放QT…

300分钟吃透分布式缓存-24讲:Redis崩溃后,如何进行数据恢复的?

Redis 持久化是一个将内存数据转储到磁盘的过程。Redis 目前支持 RDB、AOF&#xff0c;以及混合存储三种模式。 RDB Redis 的 RDB 持久化是以快照的方式将内存数据存储到磁盘。在需要进行 RDB 持久化时&#xff0c;Redis 会将内存中的所有数据以二进制的格式落地&#xff0c;每…

项目实战之跨语言调用api——结合语言优点解决实际问题

前情提要 在一个项目开发中需要后端解析并分析数据得出结果报告&#xff0c;一开始用的Java后端&#xff0c;后面一堆Json数据解析的实在头疼&#xff0c;于是捡起老胶水&#xff1a;Python 辅助开发作为后端的核心算法部分服务接口 Java&#xff1a;SpringBoot 结合 RestTemp…

html--彩虹爱心

文章目录 js内容cssreset.min.cssstyle.css html内容 js内容 const colors ["#e03776","#8f3e98","#4687bf","#3bab6f","#f9c25e","#f47274"]; const SVG_NS http://www.w3.org/2000/svg; const SVG_XLINK &q…

数据分析-Pandas数据画箱线图

数据分析-Pandas数据画箱线图 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表&#xff…

Python快速入门系列-2(Python的安装与环境设置)

第二章&#xff1a;Python的安装与环境设置 2.1 Python的下载与安装2.1.1 访问Python官网2.1.2 安装Python对于Windows用户对于macOS用户对于Linux用户 2.2 集成开发环境&#xff08;IDE&#xff09;的选择与设置2.2.1 PyCharm2.2.2 Visual Studio Code2.2.3 Jupyter Notebook2…

7. 交叉开发环境设置

嵌入式交叉编译工具 ​ 交叉编译工具是为了使在上位机中编译的文件能够在不同平台的目标机中执行&#xff0c;搭建交叉编译环境是嵌入式开发的第一步&#xff0c;也是关键的一步。不同的体系结构、不同的操作系统&#xff0c;甚至是不同版本的内核&#xff0c;都会用到不同的交…

看了很多文章,就这篇说明白了什么是接口测试!

接口&#xff08;API&#xff09;是一个简称&#xff0c;全名叫应用程序编程接口(Application Programming Interface)&#xff0c;是一些预先定义的函数。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力&#xff0c;而又无需访问源码&#xff0c;或理解…

进腾讯工作一个月,我想辞职了......

前几天&#xff0c;我在网上看到一个微博。 一个应届的校招生&#xff0c;目前入职腾讯&#xff0c;工作了一个月。这一个月给他的感受是大量的写测试用例&#xff0c;自己写测试用例的能力熟练了不少&#xff0c;测试技能倒是没有多大的提高&#xff0c;真正需要技术的工作却…