DVWA实验之Brute Force-暴力破解- Low
这里开始DVWA的相关实验~
有关DVWA环境搭建的教程请参考:
Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令,是现在最为广泛使用的攻击手法之一。
这里我们先将安全等级设为
low
Low
服务器端核心代码
<?php if(isset($_GET['Login'])){ //Getusername $user=$_GET['username']; //Getpassword $pass=$_GET['password']; $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{ //Loginfailedecho"<pre><br/>Usernameand/orpasswordincorrect.</pre>"; } mysql_close(); } ?>
知识点:
1. isset函数在php中用来检测变量是否设置,该函数返回的是布尔类型的值,即true/false
2.我们知道isset函数的用途之后,我们可以得知服务器只是验证了参数Login是否被设置,并没有做任何防爆破机制
3.对参数username、password没有做任何过滤,存在明显的sql注入漏洞
我们先用
burpsuite抓包分析一下
在火狐中开启代理
在bp中配置好
随意输个密码,这里我输入123
将代理中抓取到的信息 发送至
intruder模块
因为要对password参数进行爆破,所以在password参数的内容两边加$
选中Payloads,载入字典,点击Start attack进行爆破
爆破完成后,我们可以通过长度来判断,爆破出的密码为password
输入密码password
bingo~~
另一种方法~~
手工sql注入
1. Username: admin’ or ’1′=’1
Password: (空)
注入成功
原理: select name from 表 where name=’
admin’ or ’1′=’1 ’
1=1 永真
2. Username : admin’ #
Password : (空)
注入成功
原理:# 为注释 后面均无效
完成!