DVWA通关教程2

本博客所有网络安全相关教程、漏洞原理、渗透实操、攻防技术等内容,仅用于合法安全学习、白帽技术交流、企业授权安全测试。
所有技术严禁用于未授权探测、非法入侵、数据窃取、网络攻击等任何违反《中华人民共和国网络安全法》的违法行为。
任何个人利用本文内容实施违规操作,所产生的一切法律责任与后果均由当事人自行承担,与本人无关。
倡导正向网络安全学习,坚守白帽底线,共建清朗网络环境。

一、 Weak Session IDs

Weak Session IDs(弱会话 ID) 指网站生成的会话令牌(Session ID)可预测、熵值低、易被猜测或遍历,导致攻击者无需密码即可劫持 / 冒充用户会话。

基本概念

  • Session ID:用户登录后服务器生成的唯一身份凭证,通常存于 Cookie(如 PHPSESSID、dvwaSession),后续请求携带即可保持登录。
  • Weak Session IDs:生成逻辑弱(如自增、时间戳、简单哈希),可被预测 / 枚举,直接导致会话劫持、账号接管。

按 F12 打开浏览器开发者工具,切换到 Application 标签:

左边找到 Cookies → 点击 http://127.0.0.1(或你的 DVWA 地址)。

在右侧列表里找到 CookiedvwaSession ,记住它的Value

点击页面上的 Generate 按钮

刷新一下开发者工具里的 Cookie 列表,看 dvwaSession 的值。

比如第一次是 1,再点一次变成 2,再点变成 3,这就是每次 + 1 的自增

预测并修改会话 ID

这里由于我之前点击过几次,现在 dvwaSession 的值是 5,说明规律是 1,2,3,4,5...。

在开发者工具里,双击 dvwaSession 的 Value,把5改成7,按回车。

刷新页面(按 F5)

如果页面正常显示,没有报错 ,说明你用了 7 这个会话 ID,成功劫持了 "下一个用户" 的会话。

也可以改回 1、2,看是不是也能正常访问,验证自增规律。

二、DOM Based Cross Site Scripting (XSS)

DOM Based XSS 是一种纯前端触发跨站脚本漏洞,不需要服务器参与,直接通过修改页面的 DOM 结构执行恶意脚本。

复制代码
#payload
<scipt>alert(1)</script>

选择一个,url里面有回显,构造payload,回车,就能看到弹窗;

DOM Based XSS 的核心:

  • 页面 JavaScript 会读取 URL 参数 / Location.hash 等前端可控值;
  • 直接把值写入 DOM(比如 document.write、innerHTML、eval),没有做任何过滤;
  • 攻击者构造恶意 URL,用户访问后,脚本在浏览器里执行。

DOM XSS 与反射型 / 存储型 XSS 的区别:

  • 反射 / 存储型:需要服务器把恶意脚本返回给浏览器;
  • DOM 型:仅在前端通过 JavaScript 处理 URL 参数,服务器不参与恶意脚本的传递。

三、Reflected Cross Site Scripting (XSS)

直接在输入框里输入payload,提交,就能出现弹窗。

四、Stored Cross Site Scripting (XSS)

这里我第一次进行尝试时,显示guestbook表不存在,这是由于数据库中没有这个表,可能是在搭建时丢失了我就在phpmyadmin里创建里这个表,再进行尝试;

这里在message里输入payload;

出现了弹窗;

四、JavaScript Attacks

将token改为md5(rot13("success"))的计算结果,将phrase改为success;

点击放行;

五、Authorisation Bypass

目前是管理员身份

记住以下路径

根据提示,以gordonb身份登录,

发现缺少了一栏,此时的身份是gordonb而不是admin

此时我们访问方才的路径,我们发现成功绕过,此时的身份是gordonb。

六、Open HTTP Redirect

不安全重定向漏洞,目标是利用后端的跳转逻辑,把用户引导到你指定的任意外部网站。

点击第一个链接,跳转,而且url里有参数;

查看网页源码,跳转地址直接从 URL 参数里取,没有做白名单校验:

也就是说,你传什么 url 参数,它就跳转到哪里,不会检查是不是 DVWA 自己的地址。

将源代码进行修改,修改完后再次点击链接1,就会跳转到百度页面!

七、Cryptography Problems

将下面的密文放在上面的输入框,解密一下;

将得到的结果作为密码输入,点击登录就可以了。

相关推荐
专注VB编程开发20年1 小时前
Python 的 C 扩展,本质上就是“去中心化的 COM”
java·服务器·开发语言·ide·python
UrSpecial1 小时前
从零实现 Reactor + ThreadPool TCP 服务器
服务器·网络编程·reactor·tcp
2501_912784081 小时前
Taocarts全链路反向海淘系统实战拆解:一个人+一台服务器,如何做到日处理200单?
运维·服务器·跨境电商·taocarts
程序猿追1 小时前
在轻量服务器上部署商汤SenseNova U1轻量版全记录
运维·服务器
皮卡祺q1 小时前
【算法-0】背包问题(三维+二维)
java·javascript·算法
前端爆冲2 小时前
基于SSE实现AI聊天场景的流式输出
前端·ai编程
Bigger2 小时前
mini-cc 技术栈:跟着 Claude Code 先选 TypeScript + React + Ink
前端·ai编程·claude
whuhewei2 小时前
手写Promise
开发语言·javascript·ecmascript
vortex52 小时前
XSS 漏洞深度挖掘与利用:从自动化扫描到账户接管
前端·自动化·xss