Web小白的靶场初体验-DVWA

一、DVWA简介

  • 学习渗透测试,特别是 Web 渗透,最头疼的无疑就是寻找靶机环境,通常是不同的漏洞需要找不同的靶机源码,而不同的源码通常 Web 架构又不一样,所以要找到一套能够练习所有 Web 渗透技巧的靶机环境,经常需要搭建 N 个 Web站点,无疑大大提高了学习的入门门槛。

  • DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web 应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。

  • DVWA 一共包含了十个攻击模块,分别是:Brute Force(暴力(破解))、Command Injection(命令行注入)、CSRF(跨站请求伪造)、- File Inclusion(文件包含)、File Upload(文件上传)、Insecure CAPTCHA (不安全的验证码)、SQL Injection(SQL注入)、SQL Injection(Blind)(SQL盲注)、XSS(Reflected)(反射型跨站脚本)、XSS(Stored)(存储型跨站脚本)。包含了 OWASP TOP10 的所有攻击漏洞的练习环境,一站式解决所有 Web 渗透的学习环境。

  • 另外,DVWA 还可以手动调整靶机源码的安全级别,分别为 Low,Medium,High,Impossible,级别越高,安全防护越严格,渗透难度越大。一般 Low 级别基本没有做防护或者只是最简单的防护,很容易就能够渗透成功;而 Medium 会使用到一些非常粗糙的防护,需要使用者懂得如何去绕过防护措施;High 级别的防护则会大大提高防护级别,一般 High 级别的防护需要经验非常丰富才能成功渗透;最后 Impossible 基本是不可能渗透成功的,所以 Impossible 的源码一般可以被参考作为生产环境 Web 防护的最佳手段

二、靶场详情(同一关卡按安全等级排序)

1.Brute Froce

  • LOW:
    打开靶场,随便猜测用户名和密码进行登录,当然不可能一发入魂啦~

    接下来,点击View Source查看本题源码,并分析源码可以发现,本题并没有进行过滤。
    image
    那么第一种解题方法就来了,可以构建payload为admin' or '1'='1,输入在用户,密码为空,进行登录测试,得到结果如下,可以看到在成功登陆之后,构建的payload会显示在最后。
    image
    那么有没有第二种方法呢?当然有,使用burp进行抓包,然后将有效负载设置为username和password,导入字典(可怜的小黑并没有字典,随便写了一些常见的弱口令进行测试啦~)
    image
    对所有攻击结果进行分析,可以看到所有的请求方法都是GET,所有的返回状态码都是200表示成功,那么应该分析哪里呢?长度!可以看到在长度中有一个突出的结果4684,那么就可以得到正确的username和password了。尝试登录,并发现显示结果与方法一不同,恭喜你成功用不同方法解决了LOW难度。
    image
  • Medium:
    image
    这边的代码加入了延迟两秒才能发送下一个的条件,所以延长了爆破时间,增加了时间成本。
    mysqli_real_escape_string(string,connection) :函数会对字符串string中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义,基本可以抵抗SQL注入
    image
    从实际操作上来看,Medium和Low的难度差别并不大,但是需要进行额外的操作。设置时停。但是爆破需要一定时间,这里直接进行最后的输入测试,尝试将admin和password作为正确的口令输入,成功登录。
    image
posted @   清枫语你  阅读(128)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示