自從9月后百度和360開戰(zhàn)的結(jié)果就是 百度搜索結(jié)果的網(wǎng)址改變了,變成link?url=………這樣的重定向格式了??吹竭@樣的不友好的URL真有破解的沖動。于是今天開始試試破解它。前幾天寫過一篇
可以獲取到百度跳轉(zhuǎn)之后的網(wǎng)址的文章,在百度了一下,有人也研究過百度link?url=的。大概得出如下結(jié)果:
我是這樣驗證的:
1、先百度搜索 www.php100.com
第一個結(jié)果鏈接:
http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf546427d385fef6656de2404d6843da27
看到前面的幾位6427d385fef6656de2404d6843da27
2、 再百度搜索 www.hao123.com
第一個結(jié)果鏈接:
http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf54 6427d385e6ff7a6de0434d6843da
看到前面的幾位6427d385e6ff7a6de0434d6843da
……
多次搜索N個網(wǎng)站后發(fā)現(xiàn),域名前幾位是“www.”的,密文是都是6427d385
并且www.是四個字符,密文6427d385是八個字符??梢灾烂芪膬蓚€字符等于url一個字符。
于是寫了一個php表單查詢并得到密文部分,方便以后查看。
出個php源碼:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>查詢百度link?ulr=真實鏈接表單</title>
</head>
<body>
<?php
/*
getrealurl 獲取301、302重定向后的URL地址 by enenba.com
@param str $url 查詢
$return str 定向后的url的真實url
*/
function getrealurl($url){
$header = get_headers($url,1);
if (strpos($header[0],'301') || strpos($header[0],'302')) {
if(is_array($header['Location'])) {
return $header['Location'][count($header['Location'])-1];
}else{
return $header['Location'];
}
}else {
return $url;
}
}
$input = '<form method="get" action=""><input type="text" name="url" id="url" style="width:800px;" /><input type="submit" value="提交" /></form><body></html>';
$url = isset($_GET['url'])?$_GET['url']:'';
if(empty($url)) exit($input);
$urlreal = getrealurl($url);
echo '真實的url為:'.$urlreal;
$urlreal = ltrim($urlreal,'http://');
$search = '/ebac5573358cc3c0659257bfcf54([0-9a-f]+)/i';
preg_match($search,$url,$r);
$url_encode = $r[1]; unset($r);
echo '<br/>密文部分為:'.$url_encode.'<br/>';
$urlreal_arr = str_split($urlreal);
$url_encode_arr = str_split($url_encode,2);
echo '<br />';
echo $input;
?>
測試頁面:http://enenba.com/tool/baidu_link_url_jiemi/
該文章在 2012/9/20 7:55:48 編輯過