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.mzph.cn/news/732097.shtml

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

相关文章

js如何显示input输入的文字的个数

一、直接上效果图 二、直接上代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><div class"fabu"><input type"text" id"contact" on…

python的generator生成器用法测试

yield、send、threw、close # coding: utf8# 生成器 def gen(n):for i in range(n):yield ig gen(5) # 创建一个生成器 print(g) # <generator object gen at 0x10bb46f50> print(type(g)) # <type generator># 迭代生成器中的数据(只有执行for循环…

go语言添加代理

LiteIDE 工具->管理 https://mirrors.aliyun.com/goproxy/或https://goproxy.cn,direct 命令行 go env -w GOPROXYhttps://goproxy.cn,direct

基于SpringBoot的CNKI数据精炼与展示

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 SpringBoot框架 3 1.1.1 Spring框架介绍 3 1.1.2 SpringBoot框架介绍 3 1.2 MyBatis框架 4 1.3 Echarts框架 5 1.4 Bootstrap框架 5 1.5 JQuery技术 6 1.6 本章小结 6 2 系统分析 7 2.1 功能需求分析 7 2.1.1 门户模块需求…

【论文笔记】Scalable Diffusion Models with State Space Backbone

原文链接&#xff1a;https://arxiv.org/abs/2402.05608 1. 引言 主干网络是扩散模型发展的关键方面&#xff0c;其中基于CNN的U-Net&#xff08;下采样-跳跃连接-上采样&#xff09;和基于Transformer的结构&#xff08;使用自注意力替换采样块&#xff09;是代表性的例子。…

数据结构(二)——线性表(单链表)

2.3线性表的链式表示 顺序表的优缺点&#xff1a; 优点&#xff1a;可随机存储&#xff0c;存储密度高 缺点&#xff1a;要求大片连续空间&#xff0c;且改变容量不方便 2.3.1 单链表的基本概念 单链表&#xff1a;用链式存储实现了线性结构。一个结点存储一个数据元素&…

【IEEE列表会议】IEEE第三届信息与通信工程国际会议国际会议(JCICE 2024)

会议简介 Brief Introduction 2024年第三届信息与通信工程国际会议国际会议 (JCICE 2024) 会议时间&#xff1a;2024年5月10日-12日 召开地点&#xff1a;中国福州 大会官网&#xff1a;JCICE 2024-2024 International Joint Conference on Information and Communication Engi…

高电平复位电路工作原理详解

单片机复位电路的作用是&#xff1a;使单片机恢复到起始状态&#xff0c;让单片机的程序从头开始执行&#xff0c;运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。目的是让单片机能够稳定、正确的从头开始执行程序。一共分为&#xff1a;高电平复位&#xff0c;低…

程序员失业,被迫开启 PlanB——成为自由职业/独立开发者的第 0 天

程序员失业&#xff0c;被迫开启 PlanB——成为自由职业/独立开发者的第 0 天 今天在逛V2EX的时候看到的一个帖子&#xff0c;程序员中年被裁&#xff0c;被迫开启独立开发这条路。 原贴如下&#xff1a; lastday, 失业啦 公司年前通知我合同到期不续签&#xff0c;今天是我…

docker学习进阶

一、dockerfile解析 官方文档&#xff1a; Dockerfile reference | Docker Docs 1.1、dockfile是什么&#xff1f; dockerfile是用来构建docker镜像的文本文件&#xff0c;由一条条构建镜像所需的指令和参数构成的脚本。 之前我们介绍过通过具体容器反射构建镜像(docker comm…

JavaWeb - 3 - JavaScript(JS)

JavaScript(JS)官方参考文档&#xff1a;JavaScript 教程 JavaScript&#xff08;简称&#xff1a;JS&#xff09;是一门跨平台、面向对象的脚本语言&#xff0c;是用来控制网页行为的&#xff0c;它能使网页可交互&#xff08;脚本语言就不需要编译&#xff0c;直接通过浏览器…

Luajit 2023移动版本编译 v2.1.ROLLING

文章顶部有编好的 2.1.ROLLING 2023/08/21版本源码 Android 64 和 iOS 64 luajit 目前最新的源码tag版本为 v2.1.ROLLING on Aug 21, 2023应该是修正了很多bug, 我是出现下面问题才编的. cocos2dx-lua 游戏 黑屏 并报错: [LUA ERROR] bad light userdata pointer 编…

【校园导航小程序】2.0版本 静态/云开发项目 升级日志

演示视频 【校园导航小程序】2.0版本 静态/云开发项目 演示 首页 重做了首页&#xff0c;界面更加高效和美观 校园指南页 新增了 “校园指南” 功能&#xff0c;可以搜索和浏览校园生活指南 地图页 ①弃用路线规划插件&#xff0c;改用SDK开发包。可以无阻通过审核并发布…

seq2seq翻译实战-Pytorch复现

&#x1f368; 本文为[&#x1f517;365天深度学习训练营学习记录博客 &#x1f366; 参考文章&#xff1a;365天深度学习训练营 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制]\n&#x1f680; 文章来源&#xff1a;[K同学的学习圈子](https://www.yuque.com/…

前端使用Ant Design中的Modal框实现长按顶部拖动弹框需求

需求&#xff1a;需要Ant Design中的一个Modal弹框&#xff0c;并且可以让用户按住顶部实现拖动操作 实现&#xff1a;在Ant Design的Modal框的基础上&#xff0c;在title中添加一个onMouseDown去记录拖拽的坐标&#xff0c;然后将其赋值给Modal的style属性 代码部分&#xff…

【JavaEE进阶】 @Transactional详解

文章目录 &#x1f343;前言&#x1f332;rollbackFor&#xff08;异常回滚属性&#xff09;&#x1f384;事务隔离级别&#x1f6a9;MySQL事务隔离级别&#x1f6a9;Spring事务隔离级别 &#x1f38b;Spring事务传播机制&#x1f6a9;什么是事务传播机制&#x1f6a9;事务有哪…

【SpringMVC】RESTFul风格设计和实战 第三期

文章目录 概述一、 RESTFul风格简介二、 RESTFul风格特点三、 RESTFul风格设计规范3.1 HTTP协议请求方式要求3.2 URL路径风格要求 实战一、需求分析二、RESTFul风格接口设计三、后台接口实现总结模糊查询 有范围 返回多数据用户 添加 与 更新 请求参数接收数据显示用户详情/删除…

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

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

软考71-上午题-【面向对象技术2-UML】-UML中的图2

一、用例图 上午题&#xff0c;考的少&#xff1b;下午题&#xff0c;考的多。 1-1、用例图的定义 用例图展现了一组用例、参与者以及它们之间的关系。 用例图用于对系统的静态用例图进行建模。 可以用下列两种方式来使用用例图&#xff1a; 1、对系统的语境建模&#xff1b…

ChatGPT 升级出现「我们未能验证您的支付方式/we are unable to authenticate」怎么办?

ChatGPT 升级出现「我们未能验证您的支付方式/we are unable to authenticate」怎么办&#xff1f; 在订阅 ChatGPT Plus 时&#xff0c;有时候会出现以下报错 &#xff1a; We are unable to authenticate your payment method. 我们未能验证您的支付方式。 出现 unable to a…