DVWA-10.XSS (DOM)

2023-11-14

大约

“跨站点脚本 (XSS)”攻击是一种注入问题,其中恶意脚本被注入到原本良性和受信任的网站上。 当攻击者使用 Web 应用程序发送恶意代码(通常以浏览器端脚本的形式)时,就会发生 XSS 攻击, 给其他最终用户。允许这些攻击成功的缺陷非常普遍,并且发生在使用输出中用户输入的Web应用程序的任何地方, 无需验证或编码。

攻击者可以使用 XSS 向毫无戒心的用户发送恶意脚本。最终用户的浏览器无法知道脚本不应该被信任, 并将执行 JavaScript。由于恶意脚本认为脚本来自受信任的来源,因此可以访问任何 Cookie、会话令牌或其他 您的浏览器保留并与该网站一起使用的敏感信息。这些脚本甚至可以重写 HTML 页面的内容。

基于 DOM 的 XSS 是一种特殊情况,其中 JavaScript 隐藏在 URL 中,并在呈现时由 JavaScript 在页面中拉出,而不是在提供时嵌入到页面中。这可能使其比其他攻击更隐蔽,并且读取页面正文的 WAF 或其他保护措施看不到任何恶意内容。


目的

在其他用户的浏览器中运行您自己的JavaScript,使用它来窃取登录用户的cookie。

(实验目标,在对应水平下,用怎么样的js可以让网站显示alert,如果显示了,说明攻击有效。如果不显示,说明攻击无效。)


低水平

在将请求的输入包含在输出文本中之前,低级别不会检查该输入。

Spoiler: /vulnerabilities/xss_d/?default=English<script>alert(1)</script>.

 访问:http://127.0.0.1/vulnerabilities/xss_d/?default=English<script>alert(1)</script>

 发现显示了弹窗

 

 

中级

开发人员尝试添加一个简单的模式匹配,以删除对“<script”的任何引用以禁用任何JavaScript。找到一种在不使用脚本标签的情况下运行 JavaScript 的方法。

Spoiler: You must first break out of the select block then you can add an image with an onerror event:

/vulnerabilities/xss_d/?default=English>/option></select><img src='x' οnerrοr='alert(1)'>

浏览器输入http://127.0.0.1/vulnerabilities/xss_d/?default=English<script>alert(1)</script>

再回车,发现已经不显示alert。

使用/vulnerabilities/xss_d/?default=English>/option></select><img src='x' οnerrοr='alert(1)'>访问,发现仍显示了alert

 

高水平

开发人员现在只将允许的语言列入白名单,您必须找到一种方法来运行您的代码而不会进入服务器。

Spoiler: The fragment section of a URL (anything after the # symbol) does not get sent to the server and so cannot be blocked. The bad JavaScript being used to render the page reads the content from it when creating the page.

/vulnerabilities/xss_d/?default=English#<script>alert(1)</script>.

这种情景下,前两种攻击方式已经无效。

但是使用/vulnerabilities/xss_d/?default=English#<script>alert(1)</script> 回车仍可以显示alert

不可能的水平

默认情况下,大多数浏览器都会对从URL中获取的内容进行编码,从而阻止执行任何注入的JavaScript。

url地址输入高水平下可攻击的url,发现已经不显示alert。

说明防御有效。

 

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

DVWA-10.XSS (DOM) 的相关文章

  • 2023自动化测试的10个最佳实践(建议收藏)

    虽然大家都知道坚果是非常健康和有营养的 但是 当你尝试吃它的时候 我猜测过程都不会很顺利 现实就是那么相似 我们都知道测试自动化对软件开发有好处 就像坚果对我们的身体一样 很遗憾很多公司在不考虑细微差别的情况下就赶着上线测试自动化 如果您不
  • Wireshark

    Wireshark是一个网络协议分析器 早期称为Ethereal 它能够捕获网络数据包并对数据包进行详细的解析 Wireshark可用于捕获和分析几乎所有类型的网络流量 包括以太网 无线网络 蓝牙 USB等等 除了对网络数据包的捕获和解析
  • 渗透测试工具ZAP入门教程(3)-渗透测试扫描流程

    使用ZAP对网站进行渗透测试流程如下 ZAP启动浏览器 输入URL 点击启动浏览器 在打开的浏览器登录要扫描的网站 在打开的浏览器上进行需要测试的流程操作 ZAP会记录操作过程中的HTTP请求 spider爬虫 点击Spider Start
  • 安全测试-django防御安全策略

    django安全性 django针对安全方面有一些处理 学习如何进行处理设置 也有利于学习安全测试知识 CSRF 跨站点请求伪造 Cross Site Request Forgery CSRF 是一种网络攻击方式 攻击者欺骗用户在自己访问的
  • 11款常用的安全测试工具

    1 AppScan 一款安全漏洞扫描工具 支持Web和移动 现在安全测试做漏洞扫描非常适用 它相当于是 探索 和 测试 的过程 最终生成很直观的测试报告 有助于研发人员分析和修复通常安全测试工具用这个 扫描一些安全漏洞 用起来比较方便 网上
  • 使用较广泛的安全测试工具有哪些?

    使用较广泛的安全测试工具有哪些 安全测试是一个非常复杂的过程 安全测试所使用到的工具也非常多 而且种类不一 如漏洞扫描工具 端口扫描工具 抓包工具 渗透工具等 一 Web漏洞扫描工具 AppScan AppScan是IBM公司开发的一款We
  • Webgoat-Hijack a session通关答题教程

    Webgoat Hijack a session Hijack session是会话劫持 先了解需要用到的知识 Cookie原理 1 客户端向服务端发起请求 2 服务端返回cookie 自己也保存了一份 3 客户端收到后 将cookie也保
  • 安全测试常用几个工具

    下面介绍了这些工具的主要功能以及教程 书籍 视频等 端口扫描器 Nmap Nmap是 Network Mapper 的缩写 众所周知 它是一款非常受欢迎的免费开源黑客工具 Nmap被用于发现网络和安全审计 据数据统计 全世界成千上万的系统管
  • 安全测试基础知识

    软件安全测试是评估和测试系统以发现系统及其数据的安全风险和漏洞的过程 没有通用术语 但出于我们的目的 我们将评估定义为分析和发现漏洞 而不尝试实际利用这些漏洞 我们将测试定义为发现和尝试利用漏洞 安全测试通常根据要测试的漏洞类型或正在执行的
  • Dependency-check

    文章目录 前言 工具简介 工具原理 原理 检测过程 NVD CVSS 工具安装 工具地址 环境依赖 工具安装 Jenkins Plugin Command Line On nix On Windows On Mac rec Maven Pl
  • DVWA-Command Injection

    大约 命令注入攻击的目的是在易受攻击的应用程序中注入和执行攻击者指定的命令 在这种情况下 执行不需要的系统命令的应用程序就像一个伪系统外壳 攻击者可能会使用它 作为任何授权的系统用户 但是 命令的执行权限和环境与 Web 服务具有的权限和环
  • DVWA-15.Open HTTP Redirect

    OWASP将其定义为 当 Web 应用程序接受不受信任的输入时 可能会导致 Web 应用程序将请求重定向到不受信任输入中包含的 URL 则可能会出现未经验证的重定向和转发 通过修改恶意站点的不受信任的 URL 输入 攻击者可以成功发起网络钓
  • 如何从0到1做一次完整的安全测试

    大家好 我是馨馨 一个混过大厂 待过创业公司 有着6年工作经验的软件测试妹纸一枚 近期针对公司项目做了一次完整的安全测试 扫描出来了不少漏洞 价值还挺大的 回顾整个流程 并没有特别复杂的点 小林星球这里程序员还挺多 想着分享下我的实战感悟
  • 安全测试目录内容合集

    基础知识 安全测试基础知识 安全测试 django防御安全策略 HTTP工作原理 靶场DVWA 安全测试网站 DWVA下载安装启动 DVWA Command Injection DVWA 5 File upload 文件上传漏洞 DVWA
  • POC模拟攻击利器 —— Nuclei入门(一)

    引入Nuclei的缘由 使用dependency check 发现的问题 需要研发人员修复 研发人员要求复现问题 这个的确有难度不仅仅要了解cve 相关bug的具体含义 还要模拟攻击 对于测试人员显然要求过高 凭借自己多年的各种测试工具调研
  • DVWA-Brute Force

    Brute force 暴力破解 是一种试图通过尝试所有可能的组合 通常是密码 来获取敏感信息或破解加密的技术或方法 这种攻击方法通常被用来破解密码 对系统进行入侵或访问受限资源 暴力破解攻击的原理是通过迭代尝试各种可能的组合 例如密码字典
  • Black Duck----安装 Synopsys Detect,运行你的第一次

    Synopsys Detect 也称为 Detect 可以在您的桌面图形用户界面 GUI 或命令行 CLI 上运行 虽然 Detect 运行有许多变化 但运行将执行以下三个步骤 首先 Detect 将使用项目的包管理器来派生该包管理器已知的
  • WEB安全测试手册

    概述 目的 适用读者 适用范围 注意事项 测试级别说明 测试过程示意图 1 服务器信息收集 1 1 运行帐号权限测试 1 2 Web服务器端口扫描 1 3 HTTP方法测试 1 4 HTTP PUT方法测试 1 5 HTTP DELETE方
  • 『渗透测试基础』| 什么是渗透测试?有哪些常用方法?如何开展?测试工具有哪些?优势在哪里?

    渗透测试基础 什么是渗透测试 有哪些常用方法 如何开展 测试工具有哪些 优势在哪里 1 什么是渗透测试 2 有哪些常用方法 2 1 针对性测试 2 2 外部测试 2 3 内部测试 2 4 盲测 2 5 双盲测试
  • Web自动化测试流程:从入门到精通,帮你成为测试专家

    摘要 Web应用程序在今天的软件开发中占据着越来越重要的地位 保证Web应用程序的质量和稳定性是非常必要的 而自动化测试是一种有效的方法 本文将介绍Web自动化测试流程 并提供代码示例 步骤一 选取测试工具 选择适合自己团队的自动化测试工具

随机推荐

  • OCaml 安装以及简单的加减乘除Demo(以Ubuntu16.04为例)

    安装nix 参考 https mirrors tuna tsinghua edu cn help nix 安装nix sh lt curl https mirrors tuna tsinghua edu cn nix latest inst
  • 100 个网络基础知识

    1 什么是链接 链接是指两个设备之间的连接 它包括用于一个设备能够与另一个设备通信的电缆类型和协议 2 OSI 参考模型的层次是什么 有 7 个 OSI 层 物理层 数据链路层 网络层 传输层 会话层 表示层和应用层 3 什么是骨干网 骨干
  • c语言从键盘输入一个3*3矩阵,并分别求主对角线和副对角线

    c语言从键盘输入一个3 3矩阵 并分别求主对角线和副对角线 include
  • Java Conversion from String to bytes is not one-one?

    在工作中遇到了标题所述的问题 当一个字节数组编码成字符串后再获得字符串的字节数组 发现会和一开始的字节序列不同 上网查询了一番 发现Stack Overflow上有同样的问题 现在就来分析一下为什么会出现这种情况 byte bytes1 1
  • int与char之间的相互转换(c/c++)

    int 转换为char 0 即可 int a 5 char b a 0 注意 1 这里的b得到的字符型的5 2 由于char只有一个字节的空间 所以int只能是0 9之间的数 char 转换为int 0 即可 char a 5 int b
  • HSV介绍二:HSV颜色识别-HSV基本颜色分量范围

    一般对颜色空间的图像进行有效处理都是在HSV空间进行的 然后对于基本色中对应的HSV分量需要给定一个严格的范围 下面是通过实验计算的模糊范围 准确的范围在网上都没有给出 H 0 180 S 0 255 V 0 255 此处把部分红色归为紫色
  • 服务器电脑的作用,什么是wins服务器及其作用 -电脑资料

    问 什么是 WINS服务器 有什么作用 答 WINS Windows Internet Name Service 服务器主要用于NetBIOS名字服务 它处理的是NetBIOS计算机名 Computer Name 所以也被称为NetBIOS
  • vue3 mitt路由跳转后 on事件获取不到值的奇葩问题解决

    vue3不再支持大家试用this 那原型链这种东西自然是要命了 好在我们还有第三方插件mitt 但这东西是真的坑啊 比如我们定义 EventBus emit 然后马上进行路由跳转 EventBus emit datas Acquis rou
  • 苹果手表测心电的原理

    苹果手表 Apple Watch 测心电的原理是通过一种称为光电容积脉搏波法 photoplethysmography PPG 的技术来实现的 此外 它还使用了一种名为电极传感器的功能来检测心电图 ECG 信号 以下是苹果手表测量心电和心率
  • 加速AndroidStudio的编译和卡顿等待说拜拜!

    Android studio 2 2 当中有一项新的功能 Dex In Process 这项功能可以动态的加快编译速度 以及提高Instant Run 的效率 那么怎么来使用这项新功能呢 你只需要修改 gradle properties 这
  • Android 进程保活招式大全

    https mp weixin qq com s biz MzA3NTYzODYzMg mid 2653577617 idx 1 sn 623256a2ff94641036a6c9eea17baab8
  • Android开发网上的一些重要知识点

    1 android单实例运行方法 我们都知道Android平台没有任务管理器 而内部App维护 者一个Activity history stack来实现窗口显示和销毁 对于常规从快捷方式运行来看都是startActivity可能会使用FLA
  • SonarQube 04 SonarScanner的使用 Web Go项目扫描

    Web前端项目扫描 root jenkins master devops web service master ls build index html Jenkinsfile1 package lock json src config Je
  • Graph-node:创建一个新的subgraph

    Graph node 创建一个新的subgraph 1 合约源码 以TetherToken为例 TetherToken 2 开发子图 作为子图开发人员 您可以定义 The Graph 正在索引哪些区块链数据以及如何存储这些数据 以下是子图定
  • 为什么很多python文件中 都有这句代码if __name__ == ‘__main__‘:

    最近学习python 看到大多数写的好一点的python脚本或者程序中都会有 if name main 这句代码 然后收集了一些资料分享 1 这段代码是干嘛用的 python文件一般有两种使用方法 第一种是直接运行python文件 第二种是
  • 毕业设计基于OpenMV的火灾检测及人员搜寻智能车

    0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求 为了大家能够顺利以及最少的精力通过毕设 学长分享优质毕业设计项
  • GPT-4震撼发布:多模态大模型:Plus用户优先试用

    OpenAI 刚刚宣布正式推出 GPT 4 GPT 4 是 Generative Pre trained Transformer 4 的缩写 即生成型预训练变换模型 4 这是 OpenAI 努力扩展深度学习的最新里程碑 GPT 4 是一个大
  • Linux-0.11操作系统实验5-信号量的实现和应用

    实验环境 信号量的实现和应用 实验理论 Linux 0 11操作系统实验5理论 信号量与临界区 实验任务 在 Ubuntu 下编写程序 用信号量解决生产者 消费者问题 在 linux 0 11 中实现信号量 用生产者 消费者程序检验之 用信
  • python 快速排序的实现

    快速排序 快速排序 Quicksort 是对冒泡排序的一种改进 快速排序算法通过多次比较和交换来实现排序 其排序流程如下 首先设定一个分界值 通过该分界值将数组分成左右两部分 将大于或等于分界值的数据集中到数组右边 小于分界值的数据集中到数
  • DVWA-10.XSS (DOM)

    大约 跨站点脚本 XSS 攻击是一种注入问题 其中恶意脚本被注入到原本良性和受信任的网站上 当攻击者使用 Web 应用程序发送恶意代码 通常以浏览器端脚本的形式 时 就会发生 XSS 攻击 给其他最终用户 允许这些攻击成功的缺陷非常普遍 并