dvwa用于测试什么漏洞
DVWA(Damn Vulnerable Web Application)是用于个故意造得千疮百孔的PHP应用。它不干别的测试,就一件事:把OWASP Top 10里那些经典漏洞,什漏一个个掰开揉碎了摆在你面前,用于让你练手。测试你拿它测什么?什漏说白了,测的用于是你识别和利用漏洞的基本功,外加一点点防御意识。测试 最出名的什漏是SQL注入模块。界面上就一个输入框,用于让你填用户ID。测试你填个`1`,什漏它返回个用户信息;你填个`1'`,用于页面直接报错,测试SQL语法错误赤裸裸弹出来。什漏这玩意儿测的就是你能不能从报错里嗅到数据库结构,然后一步步把`UNION SELECT`拼进去,把整个用户表拖出来。我见过新手在这儿卡半天,因为低级难度下代码压根没过滤,你输入什么,它就拼什么进查询语句。高级难度才用预编译语句,那才是实战里该有的样子。 XSS模块也实在。有个留言板,你提交一段脚本,它就把弹窗给你弹出来。低级别下连``,别人一访问页面就中招。这测的是你对输出编码的理解——反射型、存储型、DOM型,三种都给你备齐了。有一次我拿它测一个自写的过滤器,自以为正则写得够严,结果用`
`绕过去了,DVWA直接给我上了一课:黑名单过滤永远有缝。 文件上传模块更狠。它允许你传个PHP文件上去,然后你直接访问那个路径,代码就执行了。低级别连文件类型都不查,你改个扩展名就能过。中级别检查Content-Type,但抓包改一下照样绕。高级别才看文件头内容。这测的是你对服务端配置和文件解析规则的理解——光靠前端限制根本挡不住有心人。 还有个容易被忽略的CSRF模块。它模拟了一个修改密码的页面,你点一下链接,密码就被改了。测这个得配合抓包工具,看请求里有没有token。低级别完全没有token,高级别才加了个随机的。这玩意儿在真实站点里危害极大,因为用户根本不知道点了个啥就中招了。 命令注入模块也值得玩。它让你ping一个IP,你输入`127.0.0.1 && whoami`,服务器就把当前用户给打出来了。这测的是你对系统命令拼接的敏感度,以及怎么用分号、管道符绕过过滤。 别光盯着漏洞打。DVWA每个模块都分低、中、高三个安全级别,你从低级打到高级,能明显看出代码加固的思路差异——低级是零防御,中级是半吊子黑名单,高级才用正规函数和参数化查询。这种对比比单纯看教材有用多了。 我自己的体验是,DVWA最值钱的地方在于它让你犯错的成本极低。你在真实站点上哪敢拿`UNION SELECT`去试?在DVWA里随便折腾,崩了重启就是。练熟之后再去看真实代码,心里就有底了——知道哪些地方容易出问题,知道攻击者会怎么想。这玩意儿不是用来测某个特定漏洞的,它是用来训练你的攻击思维的。
相关文章:
