DVWA-low通关

本文详述了DVWA的十个安全漏洞实验,包括Brute Force、Command Injection、CSRF、File Inclusion、File Upload、SQL Injection(字符型与盲注)、XSS(反射与存储)及JavaScript Attacks。通过源码分析和实际操作,展示了如何利用这些漏洞,以提升安全意识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境配置

  1. 在主机下载完dvwa,解压后重命名dvwa拖进虚拟机的桌面目录。

  2. 配置config文件

    打开dvwadvwaconfig ,将config.inc.php.distdist后缀去掉

    在这里插入图片描述

  3. 然后双击打开config.inc.php,修改第20、21行的值:

    在这里插入图片描述

    在这里插入图片描述

  4. 进入终端

    chmod -R 777 /home/kali/Desktop/dvwa/  	            
    #赋予dvwa文件夹相应的权限
    mv /home/kali/Desktop/dvwa/ /var/www/html             
    #将桌面上的dvwa文件移至/var/www/html下
    

    在这里插入图片描述

    service mysql start		#启动mysql服务
    mysql -u root -p 		#进入mysql(密码默认为空,直接回车)
    

    在这里插入图片描述

    create database dvwa;
    #(创建数据库,注意命令末尾的 ; 不要漏)
    create user 'dvwa'@'localhost' identified by 'dvwa';
    #创建用户名   
    grant all on *.* to 'dvwa'@'localhost';
    #赋权
    set password for 'dvwa'@'localhost' = password('dvwa');
    #设置密码
    exit
    #退出mysql
    

    在这里插入图片描述

    service apache2 start 	      #启动apache2服务
    

    在这里插入图片描述

  5. 打开浏览器,地址栏中输入127.0.0.1/dvwa回车后自动跳转至127.0.0.1/dvwa/setup.php,创建数据库,如下表示创建成功

    在这里插入图片描述

  6. 然后跳转至127.0.0.1/dvwa/login.php用户名和密码默认为adminpassword

    在这里插入图片描述

实验过程

1、Brute Force

首先尝试暴力破解

在这里插入图片描述

查看源代码

在这里插入图片描述

没有任何防护手段,直接上BP

在这里插入图片描述

进入intruder模块

在这里插入图片描述

先clear ,然后选中要爆破字段,点击add

在这里插入图片描述

设置Payloads,选择字典

在这里插入图片描述

可以看到共有8条记录,接下来设置Options,设置线程数,重试时间

在这里插入图片描述

点击右上角的Start attack。此时正在尝试对密码进行爆破,最主要是看上面蓝框中的Length字段,找出与众不同的一项,点击 length就可以对响应包的长度进行排序,找最大或最小的值的特殊值

在这里插入图片描述

成功破解

在这里插入图片描述

2、Command Injection

在这里插入图片描述

查看源码

在这里插入图片描述

看图中红框圈出的语句,可以发现没有任何的保护措施,ip字段如果在IP后面加 | 再添加一个命令,则会直接执行该命令

在这里插入图片描述

原始语句变成了ping | ls,直接输出该目录下的文件。这样就可以操作服务器中的文件,比如这样

在这里插入图片描述

|cat 1.php

在这里插入图片描述

在这里插入图片描述

可以看出,服务器通过判断操作系统执行不同的ping命令,但是对ip参数并未做出任何过滤,导致了严重的命令注入漏洞。

3、Cross Site Request Forgery (CSRF)

在这里插入图片描述

这个链接用来更新某个用户的密码,来看一下源码

在这里插入图片描述

构造网页

<img src="http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#" border="0" style="display:none;"/> 
<h1>404<h1> |
<h2>file not found.<h2> 

既然参数是GET方式传递的,那么可以直接在URL链接中设置参数,如果用户打开这个网页,那么将直接把参数传递给服务器,因为服务器并没有防CSRF的措施,所以直接可以攻击成功,密码将被改为123456

因为服务器在接受访问时,首先还要验证用户的cookie,如果浏览器上并没有之前登录留下的cookie,那攻击也就无法奏效。

CSRF攻击的关键就是利用受害者的cookie向服务器发送伪造请求。

打开网页

在这里插入图片描述

验证,修改密码成功

在这里插入图片描述

4、File Inclusion

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值