DVWA通关教程1

本博客所有网络安全相关教程、漏洞原理、渗透实操、攻防技术等内容,仅用于合法安全学习、白帽技术交流、企业授权安全测试。
所有技术严禁用于未授权探测、非法入侵、数据窃取、网络攻击等任何违反《中华人民共和国网络安全法》的违法行为。
任何个人利用本文内容实施违规操作,所产生的一切法律责任与后果均由当事人自行承担,与本人无关。
倡导正向网络安全学习,坚守白帽底线,共建清朗网络环境。

一、安全等级:low

1. Brute Force

1.打开bp内嵌浏览器,随便输入尝试登录,记得打开拦截,进行抓包;

我们可以看到,这里的传参方式是GET型,同时也能看到刚刚输入的用户名和密码;

GET 传参特点

  • 明文可见,地址栏直接看见
  • 长度有限制,不能传大量数据
  • 可直接浏览器修改参数,最容易出现注入漏洞
  • 可收藏、可分享带参数链接

和 POST 简单区别

  • GET:URL 带参数,抓包简单,前端直接改
  • POST:参数藏请求体内,地址栏看不见

2右击,发送到intruder攻击模块

.

3.添加payload位置,选择攻击类型;

包括模块四种攻击类型:

  1. Sniper 狙击手(单点爆破)
  • 作用:只替换一个位置载荷,其余不变
  • 用法:单变量爆破、账号 / 密码二选一爆破
  • 场景:爆破单个参数、验证码、简单密码
  1. Battering ram 撞锤(同步替换)
  • 作用:所有位置同时用同一个字典值
  • 用法:多个参数填一样内容
  • 场景:账号密码相同、统一参数测试
  1. Pitchfork 草叉(一一对应)
  • 作用:多字典按行一一匹配
  • 字典 1 第 1 行 + 字典 2 第 1 行
  • 场景:固定账号 + 对应密码、有序配对
  1. Cluster bomb 集束炸弹(全组合)
  • 作用:多字典全部两两组合,组合最多
  • 用法:账号密码海量配对爆破
  • 场景:通用账号密码暴力破解

4.设置payload,选择简单列表,导入本地字典,也可以自定义

两个参数都进行设置

5.点击开始攻击,多点击几次长度排序,正确输出与其他的都不同;

我们可以看到正确的用户名是admin,密码是password

输入后就能看到登陆成功的信息

  1. Command Injection命令注入

**原理:**用户可控参数直接拼接到系统命令中执行,未做过滤,可拼接符号执行额外系统命令。

常用拼接分隔符

; 先后执行,前命令执行完再执行后一条

| 只显示后一条命令结果

|| 前面命令失败,才执行后面

& 两条命令同时执行

&& 前面成功,才执行后面

复制代码
查看当前用户:127.0.0.1 & whoami
列出当前目录文件:127.0.0.1 & dir
查看系统信息:127.0.0.1 & systeminfo
查看网络连接:127.0.0.1 & netstat -an

3.crsf跨站请求伪造

原理

诱导用户在已登录状态,点击恶意链接 / 页面,自动以用户身份发起非自愿请求,篡改信息、改密码等。
**核心条件:**用户已登录目标网站 + 无令牌验证 + 可直接 GET/POST 改数据

解题步骤:

随便填写输入,进行抓包,可以看到刚刚输入的内容;

右击相关工具,生成CRSF poc;

对密码进行修改;

点击浏览器测试,复制生成的链接,在浏览器里测试,提交申请;

可以看到此时显示密码被修改了;

4.File Inclusion文件包含

**原理:**PHP 代码直接拼接用户输入,引入任意本地 / 远程文件执行代码;可控参数直接带进包含函数,造成漏洞

常用包含函数

  • include
  • include_once
  • require
  • require_once

直接在url上拼接,就能跳转到php信息,漏洞利用成功;

复制代码
?page=../../phpinfo.php

5.File Upload文件上传

文件上传漏洞是指服务器对用户上传的文件没有做严格的校验,导致攻击者可以上传恶意脚本(如 PHP 木马)并执行,直接拿下服务器权限。

无过滤,直接上传 .php 文件即可

上传后访问路径:http://dvwa.test:8081/hackable/uploads/你的文件名.php

  1. SQL Injection

输入1

输入1 and 1=1#进行验证,可以查询,表明确实存在sql注入;

输入

复制代码
1' union select user(),database()#

7.SQL Injection (Blind)

没有直接数据回显,看不到查询内容,只能靠页面正常 / 异常、对错、延时判断数据,叫盲注。

DVWA 里 SQL Injection (Blind) 就是布尔盲注

盲注意味着页面没有回显,只有是与非两种状态;

复制代码
1 and 1=1

公式固定写法

复制代码
1 and ascii(substr(database(),第几位,1))=ASCII码
相关推荐
andxe7 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
shiyi.十一8 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
DFT计算杂谈9 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
水境传感 李兆栋9 小时前
GNSS 位移监测站 :毫米级感知,筑牢安全监测防线
网络
九硕智慧建筑一体化厂家9 小时前
直流智能照明|一站式低碳照明解决方案,安全、节能、降本、全场景适配
安全
中微极客10 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
admin and root13 小时前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练
小程故事多_8014 小时前
算力工厂与安全沙箱,企业AI规模化落地的两条核心生命线
人工智能·安全
云水一下14 小时前
零基础玩转bWAPP靶场(十四):SQL 注入(GET/选择型)
web安全·sql注入·bwapp
猿的天空14 小时前
机器人双手迎来全栈训练系统:灵初智能EgoSteer让灵巧手无所不能
网络·人工智能·计算机·ai·程序员·机器人·编程