DVWA 暴力破解-Medium

地球胖头鱼 2020-10-12
Web安全 发布于 2020-10-12 11:22:34 阅读 49 评论 0

DVWA 暴力破解-Medium

提交登陆请求、抓包

爆破

发送给intruder模块进行处理

选择模式

需要爆破的是用户名和密码字段,因此选择 cluster bomb模式

添加字典

对用户名和密码字段相对应的 payloads 手工添加字典,如果有字典top100直接导入即可,没有字典的可以去GitHub上下载

payloads 1 对应的是用户名
payloads 2 对应的是密码

开始爆破

点击“start attack”,开始爆破

因为字典的增多,速度相对于Low模式的速度会慢很多。

破解结束后选择一项最特殊的进行手工登录验证。

用户名为admin,密码为test

至此我们又会看到那句熟悉的 Welcome to the password protected area admin 这样我们登陆成功!

总结

这个级别的暴力破解和Low级别的没什么区别,步骤是一样的,接下来进行虽然有看不懂但是也要多看多查的源代码:

<?php 

if( isset( $_GET[ 'Login' ] ) ) { 
// Sanitise username input 
$user = $_GET[ 'username' ]; 
$user = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $user ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : "")); 

// Sanitise password input 
$pass = $_GET[ 'password' ]; 
$pass = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $pass ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : "")); 
$pass = md5( $pass ); 

// 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 ) { 
// Get users details 
$row    = mysqli_fetch_assoc( $result ); 
$avatar = $row["avatar"]; 

// Login successful 
echo "<p>Welcome to the password protected area {$user}</p>"; 
echo "<img src=\"{$avatar}\" />"; 
} 
else { 
// Login failed 
sleep( 2 ); 
echo "<pre><br />Username and/or password incorrect.</pre>"; 
} 

((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res); 
} 

?>

可以看到,medium级别的代码对用户输入的参数进行了简单的过滤,对一些预定义字符进行了转义,基本上防止了SQL注入。还有一个措施就是如果密码输错了,则延时两秒之后才能再次提交,如果亲手体验,确实能发现爆破时长变长了些,没有那么快跑完手工写的字典。

mysqli_real_escape_string(string,connection) :函数会对字符串string中的特殊符号\x00\n\r\\x1a进行转义,基本可以抵抗SQL注入。

$GLOBALS :引用全局作用域中可用的全部变量。不懂就百度,自行了解。

以上就是medium模式的暴力破解,有的可能看不懂代码或者不会使用某一个软件,因为有不足才需要多看多学,大家一起努力。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
地球胖头鱼
未填写
  • 作者发布文章65
  • 作者收获粉丝1
  • 作者收到点赞0
  • 所有文章被收藏了0
  • 博客总访问量排行第7
  • 博客总访问量3495(每日更新)
查看所有博文