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码
相关推荐
IT大白鼠9 小时前
Dirty Frag漏洞深度分析:Linux内核页缓存污染漏洞的技术原理与安全防护
linux·安全·dirty frag漏洞
祁白_9 小时前
[0xV01D]_Glass Parcel_writeUp
大数据·安全·ctf·writeup
行走的陀螺仪9 小时前
Stripe 支付接入完整指南:从零到一,通俗易懂(2025最新版·含 Checkout Sessions + Payment Element 双方案)
网络·stripe
隔窗听雨眠10 小时前
AI开发者的网络卡点:Anthropic连接超时实战避坑
网络·人工智能
星恒讯工业路由器10 小时前
6G FR3深度解析
网络·无线通信·6g·通感一体化·fr3频谱
上海知从科技10 小时前
SENT传输协议:汽车传感器数字化通信的最优解决方案
科技·安全·汽车·软件工程·汽车电子
@insist12310 小时前
信息安全工程师-网站安全主动防御体系构建与政务网站合规实践
网络·安全·软考·信息安全工程师·政务·软件水平考试
笑中取栗10 小时前
华为HCSA-传输接入H19-473题库
网络·华为·题库·hcsa
高翔·权衡之境10 小时前
主题9:DMA与零拷贝——让CPU从数据搬运中解放
驱动开发·安全·缓存·系统安全·信息与通信