如何撰写DVWA靶场实验报告(高级)的详细?

摘要:> **难度等级**:High
> **报告说明**:本文为 DVWA 靶场 High 难度下**17个漏洞**的详细渗透测试步骤,包含漏洞原理、利用方法、工具操作及核心Payload,全程基于B
DVWA 靶场实验报告 (High Level) 难度等级:High 报告说明:本文为 DVWA 靶场 High 难度下17个漏洞的详细渗透测试步骤,包含漏洞原理、利用方法、工具操作及核心Payload,全程基于Burp Suite、Sqlmap等工具实现,所有操作步骤均配套实操截图 https://www.cnblogs.com/wrold 📑 目录 Brute Force --- 暴力破解 Command Injection --- 命令注入 CSRF --- 跨站请求伪造 File Inclusion --- 文件包含 File Upload --- 文件上传 Insecure CAPTCHA --- 不安全的验证码 SQL Injection --- SQL 注入 SQL Injection (Blind) --- SQL 盲注 Weak Session IDs --- 弱会话 ID XSS (DOM) --- DOM 型跨站脚本 XSS (Reflected) --- 反射型跨站脚本 XSS (Stored) --- 存储型跨站脚本 CSP Bypass --- CSP 策略绕过 JavaScript Attacks --- JavaScript 攻击 Authorisation Bypass --- 越权访问 Open HTTP Redirect --- 开放重定向 Cryptography --- 密码学 1. Brute Force — 暴力破解 漏洞特点 High 难度新增时间延迟+user_token 验证,token 明文显示在前端页面,需动态提取 token 配合爆破。 利用步骤 抓包:通过Burp Suite抓取登录请求包,可见username、password、user_token三个核心参数,token 为32位随机字符串。 定位token:查看前端页面源码,token 藏在<input type="hidden" name="user_token" value="xxx">中,可通过正则匹配提取。 Burp 配置 进入Intruder,选择Pitchfork 交叉爆破,标记password和user_token为爆破位置; 进入Settings,开启提取Grep项,正则表达式配置为value=(.*?)\/>\r\n,匹配前端的token值; 对user_token的Payload类型选择递归提取,并填入初始请求的有效token(抓包获取的原始token)。 爆破设置:将资源池发包最大次数改为1(禁止并发,避免token失效),加载密码字典开始爆破。 结果分析:按响应长度排序,长度与其他条目不同的即为正确密码(正确登录的响应页面与错误页面长度存在明显差异)。 核心注意点 抓包后禁止提前发包,否则token会刷新导致爆破失败,需保证初始token与爆破请求一致。 2. Command Injection — 命令注入 漏洞特点 High 难度对管道符等命令分隔符做了黑名单过滤,但过滤代码存在空格书写错误,导致过滤失效,可构造无空格的命令拼接Payload。 漏洞代码分析 if(isset($_POST['Submit'])){ $target= trim($_REQUEST['ip']); $substitutions = array( // 过滤代码存在多余空格,导致过滤逻辑失效 ); $target=str_replace( array_keys( $substitutions ),$substitutions, $target ); if(stristr(php_uname('s'),"Windows NT")){ $cmd=shell_exec("ping ".$target); }else{ $cmd=shell_exec("ping -c4 ".$target); } $html.="<pre>{$cmd}</pre>"; } 利用方法 直接构造无空格管道符拼接的Payload,绕过滤黑名单位置: 127.0.0.1|whoami 提交后成功执行系统命令,返回当前用户信息。 3. CSRF — 跨站请求伪造 漏洞特点 High 难度新增user_token 验证,token 明文显示在前端HTML源码中,单纯构造CSRF链接无法绕过,需配合XSS漏洞提取token后组合攻击。
阅读全文