xss-labs前五关 详细

2023-10-26

其它xss文章

以xss-labs举例反射型xss注入的方式及基本思路
xss实验并对注入点、注入语句及危害知识总结
other article to be continue

第一关

<1>解法:

直接在url栏的name=后输入:

<script>alert(‘forming is handsome’)</script>(这是一段js代码)

<2>解析:

在这里插入图片描述那么如果我们注入的是一段能在客户端运行的程序的话,就是能达到恶意注入的目的,查看源码,发现没有做任何防御,我们试着注入在h2处注入的脚本。

<script>alert(‘forming is handsome’)</script>

在这里插入图片描述

第二关

<1>解法:

与第一关不同的是输入的地方不同,如果和第一关在相同位置上注入就会少返回一个“确定”值,所以要在网页中的输入栏输入

forming is handsome" οnfοcus=javascript:alert(‘xss’)>//

或者

forming is handsome"> <script>alert(‘forming is hand’)</script>//

<2>解析:

首先注入<script>alert(‘forming is handsome’)</script>,然后查看网页源码
在这里插入图片描述
可以发现在h2标签处的‘>’和‘<’被替换成了实体字符,用到的是htmlspecialchars()函数(想知道更多请自行搜索)。所以在此处是实现不了脚本注入的,但是看第一个input元素处‘<’和‘>’并没有被替换,所以在这里根据onfocus事件,可以实现脚本注入。输入

forming is handsome" οnfοcus=javascript:alert(‘xss’)>//

或者

forming is handsome"> <script>alert(‘forming is hand’)</script>//

当输入前者进去以后点击页面上的确定,待刷新以后点击一下输入框给onfocus事件一个焦点,网站就会自动通向下一关。若是后者则会自动弹出选框。
下图是前者的源码图。
前者的源码图

第三关

<1>解法:

在与第二关相同的位置输入

forming’ οnfοcus=javascript:alert(‘handsome’) //

这里讲一个我发现的东西,那就是输入的字符串不能太长,不然无法注入成功。
毕竟我也想在每一个能输入forming is handsome的地方都输入,但是这个地方可能是开辟的空间太小这么长的字符串不能被存储,所以只能这么短。

<2>解析:

和之前一样都是进行尝试,输入:

<script>alert(‘forming is handsome’)</script>

再查看网页源码:
在这里插入图片描述
发现和第二关的不同之处在于在input处也转换了">","<",那么可以换一种onfocus事件的书写格式达到注入的目的,输入:

forming’ οnfοcus='javascript:alert(‘handsome’)

最后再与第二关一样触发onfocus事件,就可以过关。但最后有我一个小问题,我自己给了个解释,如果看到这里的各位有’地道的‘‘正确的’理解,欢迎指正。
在这里插入图片描述图片中的input元素处的语句并没有闭合为什么不影响脚本注入?我的解释是,因为input标签是一种无内容标签,所以可以不接/,从而告诉浏览器末尾位置,而浏览器可以自动解析但是不影响,应该是应浏览器而变。

第四关

<1>解法:

forming" οnfοcus="javascript:alert(‘handsome’)

<2>解析:

输入:

<script>alert(‘forming is handsome’)</script>

以此判断一下情况
在这里插入图片描述

判断出来和第三关情况大致相同,只是在input处从原来由字符变成实体换成删去’>‘和’<’,但是我们输入的字符串中没有’>‘或’<’,所以我们输入和第三关一样的答案尝试,发现还是不可以。我查看网页源码以后发现,是包裹name的值的符号由单引号变成了双引号,所以理论上只需要在第三关的基础上把包裹name值得’改为”,但是需要注意的是(在第三关提醒过)可能是网站源文件中给这一空所留的空间太小导致,输入太长,是不能注入成功的。
在这里插入图片描述

第五关

<1>解法:

输入:

forming” ><a href=javascript:alert(’'is)>handsome</a>

<2>解析:

首先还是输入:

<script>alert(‘forming is handsome’)</script>

再查看源码
在这里插入图片描述发现h2处的‘>’和’<‘被替换成了实体字符,而input处的‘<’和‘>’则没有被替换,同时‘script’被加上了’_’,证明script已经被屏蔽。与前几种情况都不完全相同,所以再输入:

forming" οnfοcus=javascript:alert(‘handsome’) //

判断一下
在这里插入图片描述和刚刚情况一样,证明‘script’和’onfocus’都被屏蔽了。那么是时候请出另一种注入方式了,输入:

forming” ><a href=javascript:alert(‘is’)>handsome</a>

查看源码:
在这里插入图片描述发现href没有被屏蔽,所以本质上是把有alert函数的文件以超链接的方式与网页连接,最终通过访问超链接的方式执行js脚本。

其它xss文章

以xss-labs举例反射型xss注入的方式及基本思路
xss理解进阶篇
other article to be continue

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

xss-labs前五关 详细 的相关文章

  • 为什么打字稿编译器在生成的 JavaScript 中省略了“should.js”导入?

    我面临一个奇怪的问题 在我的 可以说 a ts我有
  • 变量前面加号的作用是什么?

    什么是 d in function addMonths d n keepTime if d mean The 运算符返回对象的数字表示形式 因此 在您的特定情况下 它似乎是根据是否d是一个非零数 参考here http en wikiboo
  • AngularJS 和 Django 的 DOM、JavaScript 和服务器端数据库之间是否存在三向数据绑定框架?

    AngularJS 爱好者兜售的功能之一是该框架提供的 DOM 内容和 JavaScript 数据之间的双向数据绑定 我目前正在开发几个集成 AngularJS 和 Django 的学习项目 其中一个痛点是 AngularJS 解决的 Ja
  • 如何按日期属性对对象数组进行排序?

    假设我有一个由几个对象组成的数组 var array id 1 date Mar 12 2012 10 00 00 AM id 2 date Mar 8 2012 08 00 00 AM 如何按日期元素从最接近当前日期和时间的日期开始对该数
  • Soundcloud自定义播放器动态添加和播放歌曲

    我在用soundcloud自定义播放器 https github com soundcloud soundcloud custom player创建一个可以播放所有歌曲的播放器 我的网站 当我只放置任何曲目或帖子的静态网址时 这效果非常好
  • 是否可以实现异步跨域文件上传?

    有可能的 参见下文 首先我用这张图来解释一下异步文件上传可以实现 对不起 我已经关闭了我的一个域 该图像现在消失了 不过 这确实是一个很好的图像 这是在我发现 Stack Overflow 可以通过 Imgur 上传图像之前 正如您所看到的
  • Node.js 主机名/IP 与证书的替代名称不匹配

    我正在编写一些节点代码来进行 Facebook 的服务器端登录 我已经非常接近让它完全发挥作用了 但是我在请求 auth code 时遇到了麻烦 我认为这可能与 Facebook 应用程序设置有关Site URL但我尝试过的都没有成功 我使
  • 如何使事件 DOM 侦听器适应 Google Maps JavaScript API v3.35

    我曾经使用以下代码来捕获用户的 Enter 键事件 如果用户没有选择其中任何一个 即没有标记为 pac 的 pac item 则自动从自动完成结果 pac items 中选择第一个结果 项目选择 var input document get
  • Google Analytics 是否具有针对长时间运行的网络应用程序的“心跳”功能?

    我正在制作一个专注于观看嵌入内容的网络应用程序 我希望应用程序客户端向 GA Google Analytics 发送 心跳 类型的信号以保持会话继续进行 现在看来 如果访问者观看视频 5 10 分钟 GA 就会假设他已经离开页面 并将用户的
  • JavaScript 闭包与匿名函数

    我和我的一个朋友目前正在讨论 JS 中什么是闭包 什么不是 我们只是想确保我们真正正确地理解它 我们以这个例子为例 我们有一个计数循环 想要在控制台上延迟打印计数器变量 因此我们使用setTimeout and closures捕获计数器变
  • 使用 html2canvas 将 highcharts 图表渲染为 pdf 在 IE 和 Firefox 上不起作用

    我们使用 html2canvas js 和 html2canvas svg js 版本 0 5 0 beta1 以及 highcharts js 将圆环图下载为 pdf 这在 Chrome 中按预期工作 但在 IE 和 Firefox 中不
  • 如何防止脚本注入攻击

    Intro 这个话题一直是 StackOverflow 以及许多其他技术论坛上许多问题和答案的祸根 然而 其中大多数都是特定于具体条件的 甚至更糟 通过脚本注入预防中的 整体 安全性dev tools console or dev tool
  • 在没有事件的情况下从 HTML 执行 javascript 函数

    我希望从 HTML 页面调用 javascript 函数 并且我do not希望它依赖于任何事件 该函数位于单独的 js 文件中 因为我希望在许多网页中使用它 我也将变量传递给它 我试过这个 HTML fp footer2 js中的函数 f
  • D3js 多折线图 mouseOver

    我正在努力适应this http bl ocks org mbostock 3902569D3js 折线图示例 将鼠标悬停在我的多线图表上的使用情况 看起来d3 mouse this 0 on the mousemove函数生成以下错误 无
  • 在javascript中调用c#函数[重复]

    这个问题在这里已经有答案了 可能的重复 从 Javascript 调用 ASP NET 函数 https stackoverflow com questions 3713 call asp net function from javascr
  • 找到两个移动物体的更好交点

    我想极大地优化我的算法之一 我将尽力以最好的方式解释它 主题 我们当时处于二维欧几里德系统中t 0 在这个系统中有两个对象 O1 and O2 O1 and O2分别位于点PA and PC O1移动于常数和已知点方向的速度PB 当物体到达
  • 使用 Angular JS 使图像出现在弹出窗口上

    这是我在 StackOverflow 上的第一篇文章 我正在自学 Angular 所以我是一个初学者 目前很困惑 我正在使用 Angular 创建一个网页 其中一个页面涉及一个按钮和一个弹出窗口 我想将图像放入弹出窗口中 但在实现此操作时遇
  • 检测 Service Worker 离线状态的最佳实践

    我有一个服务工作者应该缓存一个offline html客户端没有网络连接时显示的页面 然而 有时它会认为导航器已离线 即使它并未离线 那是 navigator onLine false 这意味着用户可能会得到offline html而不是实
  • JavaScript 类继承

    谁能告诉我为什么我的 showDiv boo 在类的方法中未定义 我也无法访问我的类的方法 这是我的 Blink 类及其属性和方法 function Blink div this div div Blink prototype counte
  • 关闭网站的 IE 8 兼容模式

    我的公司使用IE8作为默认浏览器 并且默认为所有内联网站点设置兼容模式 我正在构建一个在关闭兼容模式时可以工作的 Intranet 站点 我正在使用 Reset css 和几个开源 JavaScript 程序 例如数据表 我想做的是强制关闭

随机推荐

  • 1033 旧键盘打字 (20 分)*输入有可能是空串

    旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现 现在给出应该输入的一段文字 以及坏掉的那些键 打出的结果文字会是怎样 输入格式 输入在 2 行中分别给出坏掉的那些键 以及应该输入的文字 其中对应英文字母的坏键以大写给出 每
  • FreeRTOS操作系统理论知识笔记(全网最详细的亲笔手写的理论知识!我敢保证,你一定会懂!)(持续更新)

    目录 零 ARM架构与C语言汇编指令 1 ARM架构 2 汇编指令 一 什么是FreeRTOS 为什么要学它 1 第一个问题的回答 2 第二个问题的回答 二 RTOS的任务是什么 RTOS怎么实现多任务的管理 1 第一个问题的回答 gt 分
  • HIVE SQL 进行 Join 和 group by的具体原理及分区方式

    HIVE SQL 实现Join和group by 具体原理 1 JOIN 在map的输出value中为不同表的数据打上tag标记 在reduce阶段根据tag判断数据来源 MapReduce的过程如下 2 GROUP BY HIVE SQL
  • JDBC使用TNS连接多节点Oracle

    JDBC使用TNS连接多节点Oracle 为了使用tns方式连接 只需要写出tns连接的rul即可 tns连接的url写法如下 未加注释的TNS连接串 jdbc oracle thin description ADDRESS LIST ad
  • webpack高级应用篇(九):tree shaking(usedExports) 与 sideEffects

    目录 tree shaking usedExports tree shaking 前 tree shaking 后 sideEffects 副作用 解释 tree shaking 和 sideEffects 结论 tree shaking
  • html制作精美导航栏

    文章目录 一 效果展示 二 实现步骤 1 html 2 css 3 js 一 效果展示 二 实现步骤 1 html 代码如下 示例 div class navcontainer div
  • intellij idea Entity类报错“Cannot resolve table”

    intellij idea 报如下图的错 解决方法如下 1 点击菜单 view gt Tool Windows gt Persistence 2 右击项目 选择Assign Data Source 3 Data Source 选择数据库
  • MATLAB实现BO-CNN-GRU贝叶斯优化卷积门控循环单元多输入分类预测

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号
  • Linux常识型试题

    http www linuxdiyf com viewarticle php id 202718 一 填空题 1 链接分为 和 2 安装Linux系统对硬盘分区时 必须有两种分区类型 和 3 内核分为进程管理系统 I O管理系统和 等四个子
  • anki插件【Enhance main window】配置

    book symbol cap value null color empty red color empty descendant green color zero false columns absolute true color be3
  • TCP/IP三次握手

    序列号seq 占4个字节 用来标记数据段的顺序 TCP把连接中发送的所有数据字节都编上一个序号 第一个字节的编号由本地随机产生 给字节编上序号后 就给每一个报文段指派一个序号 序列号seq就是这个报文段中的第一个字节的数据编号 确认号ack
  • 三种方法使用FFmpeg截取视频片断

    如何以 3 种简单的方式使用 FFmpeg 剪切视频 提取 修剪 2020 年 10 月 12 日 Krishna Rao Vijayanagar FFmpeg 在本教程中 我们将了解如何使用 FFmpeg 以 3 种不同的方式剪切 修剪
  • 渗透测试工程师的一些面试题2(同样适合一些刚入门的小白看哦~~~!)

    一 信息收集 服务器的相关信息 真实ip 系统类型 版本 开放端口 WAF等 网站指纹识别 包括 cms cdn 证书等 dns记录 whois信息 姓名 备案 邮箱 电话反查 邮箱丢社工库 社工准备等 子域名收集 旁站 C段等 googl
  • Qt5开发从入门到精通——第一篇概述

    欢迎小伙伴的点评 相互学习 互关必回 全天在线 博主 本着开源的精神交流Qt开发的经验 将持续更新续章 为社区贡献博主自身的开源精神 文章目录 一 什么是 Qt 1 1 Qt 的发展 1 2 Qt 版本说明 1 3 Qt5开发环境简介 二
  • 约瑟夫问题(Java环形列表实现)

    package linkedList public class Joseph public static void main String args CircleLinkList cir new CircleLinkList cir add
  • 陆续收集 UE4 常用的宏的用法

    UPROPERTY EditAnywhere 任何地方 UPROPERTY EditDefaultsOnly 只有在类的编辑界面 UPROPERTY EditInstanceOnly 只有在拖拽到场景下类的编辑界面 UClass meta
  • Linux终端界面的字体颜色设置

    目录 说明 PS1 颜色语法 保存设置 说明 在网上找了好多资料都不是很详细 要不就是语法有错误 所以弄了好久才整明白了 写下来方便后面的人学习 本人Linux虚拟机版本为CentOS 6 5其他的版本的可能又细微区别哈 PS1 PS1是L
  • C++ Primer 学习笔记 第八章 IO库

    C 不直接处理输入输出 而是通过一族定义在标准库中的类型来处理IO 这些类型支持从设备读取数据 向设备写入数据的IO操作 设备可以是文件 控制台窗口等 IO库定义了读写内置类型值的操作 此外 一些类 如string 通常也会定义类似的IO操
  • 自动化测试基础

    1 自动化测试定义 自动化测试就是实用软件来控制测试案例的执行 对测试进行自动化的过程就是写一段代码来代替人工测试 可以分为两种方式 代码驱动测试 通过大量的输入参数和对应的返回结果 来验证类 模块 或者库文件的公共接口是否正确 普遍使用测
  • xss-labs前五关 详细

    其它xss文章 以xss labs举例反射型xss注入的方式及基本思路 xss实验并对注入点 注入语句及危害知识总结 other article to be continue 第一关 lt 1 gt 解法 直接在url栏的name 后输入