DVWA实验之Brute Force(暴力破解)- Medium

DVWA实验之Brute Force(暴力破解)- Medium
 
有关DVWA环境搭建的教程请参考:
 
 
Brute Force(暴力破解)- Low 实验过程请参考:
 
Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令,是现在最为广泛使用的攻击手法之一。
 
这里我们先将安全等级设为 Medium
 
开始对暴力破解的中级进行实验
 

Medium

服务器端核心代码
<?php
 
if(isset($_GET['Login'])){
//Sanitiseusernameinput
$user=$_GET['username'];
$user=mysql_real_escape_string($user);
 
//Sanitisepasswordinput
$pass=$_GET['password'];
$pass=mysql_real_escape_string($pass);
$pass=md5($pass);
 
//Checkthedatabase
$query="SELECT*FROM`users`WHEREuser='$user'ANDpassword='$pass';";
$result=mysql_query($query)ordie('<pre>'.mysql_error().'</pre>');
 
if($result&&mysql_num_rows($result)==1){
//Getusersdetails
$avatar=mysql_result($result,0,"avatar");
 
//Loginsuccessfulecho"<p>Welcometothepasswordprotectedarea{$user}</p>";
echo"<imgsrc="{$avatar}"/>";
}
else{
//Loginfailed
sleep(2);
echo"<pre><br/>Usernameand/orpasswordincorrect.</pre>";
}
 
mysql_close();
}
 
?>
 
 
相比Low级别的代码
 
知识点:
1.Medium级别的代码主要增加了mysql_real_escape_string函数,这个函数会对字符串中的特殊符号(x00,n,r,,’,”,x1a)进行转义,基本上能够抵御sql注入攻击。
2.MySQL5.5.37以下版本如果设置编码为GBK,能够构造编码绕过mysql_real_escape_string 对单引号的转义。
3.同时,$pass做了MD5校验,杜绝了通过参数password进行sql注入的可能性。
4.没有加入有效的防爆破机制(sleep(2)应该算不上有效的防爆破机制)。
 
 
因此Low中的手工注入方法不适用Medium
 
 
 
 
我们先用bp抓包分析一下
 
在火狐中开启代理
 
在bp中配置好
 
随意输个密码,这里我输入123456
 
 
抓取包,发送至intruder
 
 
给密码加上$$  ,     只选密码为需要爆破的参数
 
 
 
加载字典开始爆破
 
 
 
 
可以爆破出密码为password
 
 
登录成功
 
 
完成~
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/0yst3r-2046/p/11612637.html