DVWA靶场-Brute Force暴力破解

DVWA是一个适合新手锻炼的靶机,是由PHP/MySQL组成的 Web应用程序,帮助大家了解web应用的攻击手段

DVWA大致能分成以下几个模块,包含了OWASP Top 10大主流漏洞环境。

Brute Force——暴力破解
Command Injection——命令注入
CSRF——跨站请求伪造
File Inclusion——文件包含
File Upload——文件上传漏洞
Insecure CAPTCHA——不安全的验证
SQL Injection——sql注入
SQL Injection(Blind)——sql注入(盲注)
Weak Session IDs——不安全的SessionID
XSS(DOM)——DOM型XSS  
XSS(Reflected)——反射型XSS
XSS(Stored)——存储型XSS
CSP Bypass ——绕过内容安全策略
JavaScript——JS攻击

本文所用dvwa版本为2.3

GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA)

可以自行通过phpstudy搭建以供练习

DVWA Security分为四个等级,low,medium,high,impossible,不同的安全等级对应了不同的漏洞等级。
1.low-最低安全等级,无任何安全措施,通过简单毫无安全性的编码展示了安全漏洞。
2.medium-中等安全等级,有安全措施的保护,但是安全性并不强。
3.high-高等安全等级,有安全措施保护,是中等安全等级的加深,这个等级下的安全漏洞可能不允许相同程度的攻击。
4.impossible-最高(不可能)安全等级,存在相当强的安全保护措施,这个级别应能防止所有的漏洞,主要用于比较不同等级下的源代码。

开此篇文章的主要目的是为了对代码进行分析,查看其应对攻击的方法及绕过手法

进入暴力破解的界面,有点基础的都知道,在bp中通过字典,导入用户名和密码进行爆破,这样的操作大家见多了,再写没啥意思,想看的可以去pikachu靶场的暴力破解去了解具体操作,本文主要结合代码进行分析

pikachu靶场-暴力破解-CSDN博客

low等级
<?php

if( isset( $_GET[ 'Login' ] ) ) {    
	// Get username
	$user = $_GET[ 'username' ];    //通过get方式获取username

	// Get password
	$pass = $_GET[ 'password' ];    //通过get方式获取password
	$pass = md5( $pass );            //收到密码后进行md5加密

	// Check the database
	$query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
    //直接对数据库进行操作,用户名存在万能密码漏洞


	$result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
//直接将结果输出到界面
	if( $result && mysqli_num_rows( $result ) == 1 ) {
        //mysqli_num_rows()函数是一个用于获取查询结果中行数的mysqli扩展函数。它接受一个查询结果对象作为参数,并返回该结果集中的行数。通常用于检查查询结果是否包含了符合条件的记录,以便在代码中进行相应的处理。
		// Get users details
		$row    = mysqli_fetch_assoc( $result );
		$avatar = $row["avatar"];

		// Login successful
		$html .= "<p>Welcome to the password protected area {$user}</p>";
		$html .= "<img src=\"{$avatar}\" />";
	}
	else {
		// Login failed
		$html .= "<pre>
### DVWA Brute Force 暴力破解 实验教程 #### Low 和 Medium 级别暴力破解 对于低级别和中级别的暴力破解,由于这些级别的防护措施较为简单,可以利用工具如Burp Suite来进行自动化攻击。具体来说: - **Low Level**: 这一等级几乎没有任何安全机制来阻止暴力破解尝试。用户名和密码通过HTTP GET请求发送,并且没有验证码或登录失败后的延迟处理。因此,使用Burp Intruder模块并加载常用弱口令列表可以直接发起大量猜测尝试[^4]。 ```bash # 使用 Burp Suite 的步骤如下: 1. 启动浏览器代理设置指向本地监听端口8080; 2. 访问DVWA网站并通过拦截功能捕获登录表单提交的数据包; 3. 将数据包转发至Intruder面板配置参数位置(通常为username和password字段); 4. 加载预定义的字典文件作为payload选项; 5. 开始攻击过程观察返回结果寻找有效凭证组合。 ``` - **Medium Level**: 中级增加了简单的防御手段——每当验证不成功时会触发`sleep(2)`函数使响应时间延长两秒钟。尽管如此,这并不会显著影响实际操作中的成功率;只需耐心等待每次迭代完成即可继续测试其他候选值[^2]。 #### High 和 Impossible 级别暴力破解 随着保护强度增加到了高级阶段,则引入了更复杂的逻辑用于检测异常行为模式以及采取相应对策加以遏制潜在威胁活动的发生频率及其效率表现形式上有所区别于之前所描述过的简易型方案设计思路框架结构特点方面存在差异之处在于: - **High Level**: 此处不仅限定了最大重试次数还加入了基于IP地址白名单管理策略从而进一步提升了整体安全性水平线以上述两点为核心要素构建而成的一套综合性的访问控制体系架构模型实例化应用案例研究对象之一即为此版本下的用户认证流程环节部分实现细节说明文档记录内容摘要概述。 - **Impossible Level**: 几乎无法被传统意义上的穷举法攻破。该层面上除了继承自高阶版的安全特性外更是额外集成了诸如图形验证码之类的交互式组件用来增强人工干预成分比例进而达到更好的防伪效果目的所在[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值