当前位置:首页 > 知识

dvwa渗透测试

DVWA渗透测试:一次针对漏洞靶场的渗透实战记录

DVWA(Damn Vulnerable Web Application)是个故意造得千疮百孔的PHP应用,专门给安全学习者练手。测试我花了三个下午,渗透把它的测试SQL注入、XSS和文件上传模块挨个打了一遍,渗透过程比想象中有意思。测试

先拿SQL注入开刀。渗透DVWA的测试low级别几乎没做任何防护,直接在输入框里敲个单引号,渗透页面就报出数据库语法错误。测试这感觉就像开锁时发现门根本没锁——你甚至能透过门缝看见里面的渗透保险柜。用' OR 1=1 -- 绕过登录后,测试我拿到了完整的渗透用户表。手工猜解字段名太慢,测试我索性挂上sqlmap跑,渗透几秒钟就把所有数据库名字段名拖了出来。说句实话,这种毫无防备的靶机,练的是工具熟练度,不是真正的渗透思维。

Medium级别稍微加了点料,用mysqli_real_escape_string过滤了输入。但开发者犯了经典错误——只处理了单引号,没处理数字型注入。我提交id=1 AND SLEEP(5),页面卡了五秒才响应,时间盲注直接生效。这提醒我:代码审计时,别只看过滤函数,要关注参数进入SQL语句的完整路径。

XSS模块更有趣。Low级别的反射型XSS,直接把<script>alert(document.cookie)</script>塞进URL,弹窗就出来了。但真正让我后背发凉的是存储型XSS——我把恶意脚本写进留言板,管理员一查看后台,cookie就被发到了我本地监听的服务器上。这场景模拟的是真实攻击链:攻击者不直接打你,而是利用你信任的第三方平台。

文件上传漏洞是重头戏。Low级别只检查了文件类型,我改了下扩展名,把PHP一句话木马伪装成jpg就传上去了。访问那个文件路径时,蚁剑连接成功,直接拿到了webshell。那种感觉像拆开礼物盒,里面装着服务器的所有文件权限。但Medium级别加了MIME类型校验和文件头检查,我试了双扩展名、大小写绕过,全被拦下来。最后是用%00截断的老办法——在文件名后加个空字节,服务器截断后面的.jpg,成功上传了php文件。

三个模块打下来,最深的感触是:DVWA的漏洞设计并不复杂,它刻意放大了开发者常见的疏忽。但正是这种简化,让学习者能清晰看到漏洞的成因和利用链。真实世界的渗透测试远没有这么干净,往往要绕过WAF、处理编码问题、面对各种中间件配置。

如果你也想练手,建议别急着用工具。先手动注入几次,观察报错信息,理解参数如何进入数据库;再尝试用burp抓包改请求,看看哪些校验能绕过。等手动流程走通了,再用sqlmap和蚁剑提效率。工具能帮你快速验证,但没法替你思考。

最后提个醒:DVWA默认配置下,所有漏洞都开着,千万别把它部署到公网。本地虚拟机里玩,断网操作,练完记得快照回滚。这玩意儿就像训练场的假想敌——练枪法可以,别真把自己当靶子。

分享到: