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码
相关推荐
贞明电子5 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
HideF5 小时前
Linux
linux·服务器·网络
万联WANFLOW5 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
sbjdhjd5 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
taktok_ai8 小时前
用 cc-switch 连接 Taktok
网络
长不大的杨瑞杰8 小时前
OpenCode v2 会话可靠性实战:Snapshots、Compaction、Instructions 与 Formatters
人工智能·安全·云计算·软件工程·devops
陆圣杰9 小时前
代码分享之前,先用假数据练一次凭据检查
安全
小嘉丶学长10 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
Angeldream12311 小时前
第 10 章 医学影像伦理与安全
图像处理·人工智能·python·安全·机器学习·医学影像
方白羽11 小时前
Android 双开环境底层剖析与风控检测落地
android·安全·app