DVWA-XSS 级别通关详解(图文详细)

2023-11-03

目录

DVWA-XSS 级别通关详解

low级别

1.反射性xss

2.存储型xss

3.DOM型xss

Medium级别

1.反射型xss

2.存储型xss

3.DOM型xss

hight级别

1.反射型xss

2.存储型xss

3.DOM型xss

Impossible级别

1.反射型xss

2.存储型xss

3.DOM型xss


DVWA-XSS 级别通关详解

low级别

1.反射性xss

源码

没有任何过滤、只是将表单的输入打印出来,那就意味着我们也可以输入JavaScript脚本,来执行

payload:<script>alert(/xss/)</script>

2.存储型xss

源码

用到了这三个函数

trim(string,charlist)
函数移除字符串两侧的空白字符或其他预定义字符,预定义字符包括、\t、\n、\x0B、\r以及空格,可选参数charlist支持添加额外需要删除的字符。
mysql_real_escape_string(string,connection)
函数会对字符串中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义。
stripslashes(string)
函数删除字符串中的反斜杠。
没有对<script>脚本进行过滤

payload:<script>alert(1)</script>

若要选择在第一个框进行插入,插入内容有长度限制,需要选择开发者工具,检查源代码,找到对应的语句,修改长度限制。

也可以通过burpsuite抓包进行修改,再输入即可。

3.DOM型xss

源码同样没有过滤

直接在网页上修改下拉框上传参数的值

Medium级别

1.反射型xss

源码:

可以看到使用了str_replace()函数将<script>替换成空

但是可以轻松绕过

payload:

<sc<script>ript>alert(/xss/)</script> 双写绕过

<ScRipt>alert(/xss/)</script> 大写小绕过

2.存储型xss

3.DOM型xss

我们发现在这个里面再一次对<script>标签进行了替换,我们接下来检查前端html语句。

value的值是从这个个当中选出来的,那么我们可以通过构造闭合来执行我们的语句。

把english替换成></option></select><img src=1 οnerrοr=alert(/xss)>

那么这个语句是怎么闭合的呢

></select><img src=1 οnerrοr=alert(/xss/)>

学过html语言的我们都知道<option></select>都是双标签,也就是说会识别两个标签之间的语句,那么我们就人为把它闭合起来,在执行过程中,一旦存在一对标签,那么就会执行这里面的语句,无法构成成对标签的不会执行里面的语句,而<img>是单标签,也就是说他要执行的语句涵盖在它里面。>闭合前面<option

修改url中的值即可

hight级别

1.反射型xss

源码:

查看源代码,使用正则函数preg_replace进行了更严格的过滤,此时script标签已经没法再用了,那么我们使用别的标签也可以达到我们的目的。

以通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码。

这里我们可以用到<img src="" οnerrοr=alert(1)>

2.存储型xss

这里使用正则表达式过滤了<script>标签,但是却忽略了img、body、iframe等其它危险的标签,因此name参数依旧存在存储型XSS。Burpsuite抓包改name参数为<img src=1 οnerrοr=alert(1)>

判断defalut值是否为空,如果不为空的话,再用switch语句进行匹配,如果匹配成功,则插入case字段的相应值,如果不匹配,则插入的是默认的值。这样的话,我们的语句就没有可能插入到页面中了,这样即便我们构造了语句在访问后也没有用。

这里我们可以利用url中 # 号的特殊性,URL中 # 号之后的内容,不会被提交到服务器,可以直接与浏览器进行交互。因此我们在 # 后构造语句

#></option></select><img src=1 οnerrοr=alert(1)>(#号前加一个空格)

3.DOM型xss

源码:

一个白名单,只允许default的值为:French/Enginsh/German/Spanish

利用:

由于 form表单提交的数据 想经过JS 过滤 所以注释部分的javascript 代码 不会被传到服务器端(也就符合了白名单的要求)

payload:

#<script>alert(/xss/)</script> 或者存储型hight的payload

Impossible级别

1.反射型xss

源码:

htmlspecialchars函数,将预定义字符转换成HTML实体,防止浏览器将其作为HTML的元素、检查了用户token

2.存储型xss

源码:

通过使用htmlspecialchars函数,解决了XSS

3.DOM型xss

源码:

不需要做任何的事情,在客户端处理。

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

DVWA-XSS 级别通关详解(图文详细) 的相关文章

  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • 白帽子如何快速挖到人生的第一个漏洞 | 购物站点挖掘商城漏洞

    本文针对人群 很多朋友们接触安全都是通过书籍 网上流传的PDF 亦或是通过论坛里的文章 但可能经过了这样一段时间的学习 了解了一些常见漏洞的原理之后 对于漏洞挖掘还不是很清楚 甚至不明白如何下手 可能你通过 sql labs 初步掌握了sq
  • Android SDK开发艺术探索(五)安全与校验

    一 前言 本篇是Android SDK开发艺术探索系列的第五篇文章 介绍了一些SDK开发中安全方面的知识 包括资源完整性 存储安全 权限校验 传输安全 代码混淆等知识 通过基础的安全配置为SDK保驾护航 探索SDK开发在安全方面的最佳实践
  • 200道网络安全常见面试题合集(附答案解析+配套资料)

    有不少小伙伴面临跳槽或者找工作 本文总结了常见的安全岗位面试题 方便各位复习 祝各位事业顺利 财运亨通 在网络安全的道路上越走越远 所有的资料都整理成了PDF 面试题和答案将会持续更新 因为无论如何也不可能覆盖所有的面试题 php爆绝对路径
  • 你的服务器还安全吗?用户数据是否面临泄露风险?

    一系列严重的网络安全事件引起了广泛关注 多家知名公司的服务器遭到黑客挟持 用户的个人数据和敏感信息面临泄露的风险 这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性 提醒着企业和个人加强对网络安全的重视 一 入侵案例 1 1 蔚来数据泄露 1
  • 为什么这么多人自学黑客,但没过多久就放弃了(掌握正确的网络安全学习路线很重要)

    网络安全是一个 不断发展和演变 的领域 以下是一个 网络安全学习路线规划 旨在帮助初学者快速入门和提高自己的技能 基础知识 网络安全的 基础知识 包括 网络结构 操作系统 编程语言 等方面的知识 学习这些基础知识对理解网络安全的原理和技术至
  • 【无标题】

    大家都知道该赛项的规程和样题向来都是模棱两可 从来不说具体的内容 导致选手在备赛时没有头绪 不知道该怎么训练 到了赛时发现题目和备赛的时候完全不一样 那么本文将以往年信息安全管理与评估赛项经验来解读今年2023年国赛的规程 帮助选手们指明方
  • V-html只用于文本,安全吗?

    我现在在关于原始 HTML 的 Vue 文档 https v2 vuejs org v2 guide syntax html Raw HTML说明我们可以使用v html渲染一些内部 html 我承认这是合法且最简单的技巧 但由于我很担心
  • 如何在没有 Spring Boot 的情况下阻止或防止 Spring MVC 4 应用程序的 XSS

    如何保护 清理采用原始 JSON 主体并通常输出 JSON 响应且不使用 Spring Boot 的应用程序 我只看到一个可能有效并使用 JsonComponent 的好例子 如果我们不使用 jsoncomponent 如何过滤掉请求以从整
  • 如何使用 AntiXss 库正确清理内容?

    我有一个简单的论坛应用程序 当有人发布任何内容时 我会 post Content Sanitizer GetSafeHtml post Content 现在 我不确定我是否做错了什么 或者发生了什么 但它不允许几乎没有 html 甚至简单
  • JavaScript - 跨站脚本 - 权限被拒绝

    我有一个 Web 应用程序 我正在尝试使用 Twitter 的 OAuth 功能 该应用程序有一个链接 提示用户输入 Twitter 凭据 当用户单击此链接时 将通过 JavaScript 打开一个新窗口 该窗口用作对话框 这是这样完成的
  • XSS 背后的一般概念是什么?

    跨站脚本 XSS 是一种类型 计算机安全漏洞 通常出现在网络应用程序中 这使得恶意攻击者能够 将客户端脚本注入网络 其他用户查看的页面 一个 利用跨站点脚本 漏洞可被攻击者利用 绕过访问控制 例如 同源政策 跨站点 在网站上执行的脚本是 大
  • 使用 CSP + localStorage 保护单页应用程序免受 CSRF 和 XSS 的影响

    我有一个单页应用程序 包含敏感内容 并且需要保护 这个问题专门针对 XSS 和 CSRF 攻击 解释 很多地方都提出了建议 例如here http michael coates blogspot ca 2010 07 html5 local
  • ValidateRequest 错误还是 SQL Server Bug?

    我正在读这个article http software security sans org blog 2011 07 22 bypassing validaterequest in asp net 它说 该字符用值 uff1c 表示 如果将
  • 将 html 内容从 iframe 复制到 div ( ajax )?

    假设我的浏览器加载了一个 Iframe 我可以使用ajax将test html的内容加载到html主页面的div中吗 这个想法是我的解决方案 因为我实际上正在尝试克服将 ajax 提交到远程主机的限制 该计划是生成具有 0 大小 ifram
  • HTMLPurifier 破坏图像

    我试图根据 WYSIWYG CK 编辑器 的用户输入运行 HTMLPurifier 但图像损坏 未过滤的输入 img alt laugh src lib ckeditor plugins smiley images teeth smile
  • 如何修复java中反映的XSS

    我收到了强化报告 其中显示了来自下面第二行的 XSS 反射缺陷 String name request getParameter name response getWriter write 姓名 姓名 给出的建议 向 Web 客户端显示的所
  • HTML-Entity 转义以防止 XSS

    我有一些用户输入 在我的代码中 我确保对以下符号进行转义 gt amp lt gt lt gt gt gt OWASP https www owasp org index php XSS 28Cross Site Scripting 29
  • 使用 CSP 防止自动点击链接 XSS 攻击

    当将 CSP 用于稍微不同的目的 沙箱 时 我意识到一个非常简单的自动点击链接似乎甚至可以绕过相对严格的 CSP 我所描述的内容如下 内容安全政策 default src none script src unsafe inline 还有身体
  • 清理 html 字符串中的所有脚本

    HTML5 剪贴板很棒 但我正在寻找一种使其安全的方法 用户正在将文本 html 粘贴到我的网页中 这允许他们粘贴图像 表格等 我正在寻找一种方法 在将粘贴的内容添加到页面之前删除所有脚本 我需要删除

随机推荐

  • 全链接神经网络python简单实现

    什么是全链接神经网络 full connected FC 借用此图来直观的表示一下 规则如下 神经元按照层来布局 最左边的层叫做输入层 负责接收输入数据 最右边的层叫输出层 我们可以从这层获取神经网络输出数据 输入层和输出层之间的层叫做隐藏
  • linux新版本io框架 io_uring

    从别的博主那copy过来 1 io uring是Linux内核的一个新型I O事件通知机制 具有以下特点 高性能 相比传统的select poll epoll等I O多路复用机制 io uring采用了更高效的ring buffer实现方式
  • Qt关于tabWidget中tab样式的重绘

    Qt关于tabWidget中tab样式的重绘 版本说明 版本 作者 日期 备注 0 1 loon 2018 12 29 初稿 目录 文章目录 Qt关于tabWidget中tab样式的重绘 版本说明 目录 一 需求分析 二 最终效果展示 三
  • windows操作系统上启用SSLv3协议引发的威胁

    一 主机启用SSLv3协议引发的威胁 远程主机受到称为POODLE的中间人 MitM 信息泄露漏洞的影响 该漏洞是由于SSL 3 0在解密使用密码块链接 CBC 模式下的块密码加密的消息时处理填充字节的方式 二 建议处置措施 处置措施 禁用
  • Qt应用开发(基础篇)——字体选择器 QFontDialog

    一 前言 QFontDialog类继承于QDialog 是一个设计用来选择字体的对话框部件 对话框窗口QDialog QFontDialog字体选择对话框 设计用来让用户选择某一种字体 一般用于文本编辑窗口 标签显示和一些需要文本输入的场景
  • 第七篇 图像分类的评价指标

    文章目录 摘要 1 混淆矩阵 2 准确率 Accuracy 3 精确率 Precision 4 召回率 Recall 5 F1 score 6 代码样例 摘要 一般情况来说 单一评分标准无法完全评估一个机器学习模型 只用good和bad偏离
  • IDEA调试时的步入(step into)进不去源码怎么办

    文件 gt 设置 gt 构建 执行 部署 gt 调试器 gt 步进 gt 把java 和javax 取消勾选即可
  • 第十节 挂载NFS 网络文件系统

    本章节将介绍如何挂载NFS 网络文件系统 为后面的主机编译生成的ARM Linux 应用传输到开发板做准备 网络文件系统简介 网络文件系统 常被称为NFS Network File System 它是一种非常便捷的在服务器与客户端通过网络共
  • 使用android studio环境新建一个工程——helloworld

    几个月没有学习Android了 今天想研究研究Android与硬件通信 结果都快忘记如何新建一个新的工程了 因此 给自己写一个博客 算作我的备忘录吧 其实很简单 步骤如下 1 需要之前把android studio先部署正确了 能保证正常运
  • Java从入门到实战总结-1.1、Java基础之环境搭建和eclipse安装

    Java从入门到实战总结 1 1 Java基础之环境搭建和eclipse安装 文章目录 Java从入门到实战总结 1 1 Java基础之环境搭建和eclipse安装 1 Hello Java 1 1 Java起源 1 2 Java演变 2
  • MTK9612方案电视STR开机后屏黑有声的问题分析

    问题描述 客户反馈问题 机顶盒连接tv tv str 关机 机顶盒一直开着 过了几个小时 一次 或者第二天过来 一次 str开机 出现tv 黑屏 抓取分析log 考虑到开了ac logleve 7后比较难复制问题 麻烦这样操作 开机停到mb
  • 如何设置网页标签的LOGO

    问题描述 我们打开很多页面都会发现浏览器标签上有LOGO 那么我们该怎么样给自己的网站也设置一个酷炫的LOGO呢 解决办法 1 首先取一张图片 打开 http www bitbug net 或者百度 搜索ico图标制作 制作成16 16px
  • 求二叉树第K层节点的个数

    题目 求二叉树第k层节点的个数 思路 1 递归 求根为root的二叉树第k层节点的个数 就是要求 root left第k 1层节点的个数 root right第k 1层节点的个数 public static int getNumberOfK
  • Idea中使用Tomcat部署并启动Web项目

    首先在Idea中选择编辑运行配置 如下图 左上角的 号 选择Tomcat服务 如下图 自定义服务名称和项目在浏览器的访问路径 配置Tomcat服务器路径 如下图 然后在服务器中部署项目 下面的警告提示 Warning No artifact
  • 深度学习(五)caffe环境搭建

    ubuntu 系统下的Caffe环境搭建 原文地址 http blog csdn net hjimce article details 48781693 作者 hjimce 对于caffe的系统一般使用linux系统 当然也有windows
  • 运算放大器基本参数-增益带宽积(直观解释)

    运算放大器在理想情况下增益为无限大 但是在显示生活中其增益是有限的 增益带宽积指的就是运放的增益和其带宽的乘积 对于一个运放来说这个参数为一个常数 也就意味着增益和带宽成反比 下图通过直观的实验来验证 上图为输入1kHz时输入与输出的波形
  • Proxyee Down简介

    以前写过一篇用Proxyee下载百度网盘大文件的文章 后来一直没在用过 现在发现Proxyee出了新版 功能也增加了 所以重新来介绍一下 现在它的Github地址也变了 现在的地址是 https github com proxyee dow
  • myeclipse中No entries available错误解决方法

    在hibernate中 每个数据表对应的其实是一个实体类 每个实体类有一个对应的hbm xml配置文件和你匹配 myeclipse中有个MyEclipse Database Explorer视图 它提供了myeclipse与数据库直接连接的
  • C++多态理解与认识

    1 什么是多态 多态是指函数调用的多种形态 使我们调用函数更加灵活 多态分为静态多态与动态多态 1 静态多态 静态多态指的是编译时的多态 通过函数重载实现 根据函数命名规则找到函数地址 从而实现调用不同的方法 2 动态多态 运行时 父类指针
  • DVWA-XSS 级别通关详解(图文详细)

    目录 DVWA XSS 级别通关详解 low级别 1 反射性xss 2 存储型xss 3 DOM型xss Medium级别 1 反射型xss 2 存储型xss 3 DOM型xss hight级别 1 反射型xss 2 存储型xss 3 DO