解析百度搜索结果link?url=参数分析 (全)


Posted in PHP onOctober 09, 2012

前几天写过一篇可以获取到百度跳转之后的网址的文章,在百度了一下,有人也研究过百度link?url=的。

大概得出如下结果:

1、加密方式根据:随机+输入停留时间+快照地址进行加密
2、整个代码中应该有三个部分:1、搜索词的时间;2、搜索的关键词;3、随机生成的唯一性标识代码。
3、在任何环境或浏览器下 url=最后有一段相似的代码
从以上别人研究的结果可以知道,“最后有一段相似的代码”是比较可用的,于是先从此入手。
我搜索“enenba” 发现,我的第一个搜索结果的URL都有一段代码是相同的,那就是
http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf54763ec1c5ecff3b3fbd1d4c
所有搜索结果都有的一段代码 ebac5573358cc3c0659257bfcf54 (搜索N次后发现)
后面结尾的 763ec1c5ecff3b3fbd1d4c 看起来像是搜索结果的真实URL。(已经验证是真实URL的密文)
我是这样验证的:
1、先百度搜索 www.php100.com
第一个结果链接:
http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf546427d385fef6656de2404d6843da27
看到前面的几位6427d385fef6656de2404d6843da27
2、 再百度搜索 www.hao123.com
第一个结果链接:
http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf54 6427d385e6ff7a6de0434d6843da
看到前面的几位6427d385e6ff7a6de0434d6843da
……
多次搜索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; 
?>

上一个在线例子:猛击测试
明天再研究,待续。。。。
本站事先声明:cnbeta上的文章不是我发布的。我解析只是根据自己的想法进行研究的,只是求个过程,至于有没有结果,我自有定论,大家别喷了。
接上一篇文章,仔细看了下百度结果url的长段代码,发现密文中只有数字和a到f字母组成,也就是十六进制的代码。
十六进制是从 0->1->2->3->4->5->7->8->9->a->b->c->d->e->f
我采集一系列的url并统计了第一位的代码。
ebac5573358cc3c0659257bfcf54XX......
XX这一位代码对应的url是这样的
33 0 23 @ 13 P 03 ` 73 p 63 
! 32 1 22 A 12 Q 02 a 72 q 62 
" 31 2 21 B 11 R 01 b 71 r 61 
# 30 3 20 C 10 S 00 c 70 s 60 
$ 37 4 27 D 17 T 07 d 77 t 67 
% 36 5 26 E 16 U 06 e 76 u 66 
& 35 6 25 F 15 V 05 f 75 v 65 
' 34 7 24 G 14 W 04 g 74 w 64 
( 3b 8 2b H 1b X 0b h 7b x 6b 
) 3a 9 2a I 1a Y 0a i 7a y 6a 
* 39 : 29 J 19 Z 09 j 79 z 69 
+ 38 ; 28 K 18 [ 08 k 78 { 68 
, 3f < 2f L 1f \ 0f l 7f | 6f 
- 3e = 2e M 1e ] 0e m 7e } 6e 
. 3d > 2d N 1d ^ 0d n 7d ~ 6d 
/ 3c ? 2c O 1c _ 0c o 7c 6c

发现应该是一个ascii码表中的字符,但是顺序应该是混淆了。但是都是这个一个进制内都是这样:
3->2->1->0->7->6->5->4->b->a->9->8->f->e->d->c
四位一个降序,看出总体是递减的。
但是不解的是 从_ 到 `在ascii是相邻的 对应的 0c 和 73 是跳跃的。没办法,看不出规律,再看看第二位的这组代码
ebac5573358cc3c0659257bfcf54XXYY。。。。
YY这一位代码对应的url是这样的
70 0 60 @ 50 P 40 ` 30 p 20 
! 71 1 61 A 51 Q 41 a 31 q 21 
" 72 2 62 B 52 R 42 b 32 r 22 
# 73 3 63 C 53 S 43 c 33 s 23 
$ 74 4 64 D 54 T 44 d 34 t 24 
% 75 5 65 E 55 U 45 e 35 u 25 
& 76 6 66 F 56 V 46 f 36 v 26 
' 77 7 67 G 57 W 47 g 37 w 27 
( 78 8 68 H 58 X 48 h 38 x 28 
) 79 9 69 I 59 Y 49 i 39 y 29 
* 7a : 6a J 5a Z 4a j 3a z 2a 
+ 7b ; 6b K 5b [ 4b k 3b { 2b 
, 7c < 6c L 5c \ 4c l 3c | 2c 
- 7d = 6d M 5d ] 4d m 3d } 2d 
. 7e > 6e N 5e ^ 4e n 3e ~ 2e 
/ 7f ? 6f O 5f _ 4f o 3f 2f

第二位的这一组的秘文很好的遵循 十六进制递增的顺序。
0->1->2->3->4->5->7->8->9->a->b->c->d->e->f
总体是递减的。
再看第三组
ebac5573358cc3c0659257bfcf54XXYYZZ。。。。
ZZ这一位代码对应的url是这样的
84 0 94 @ a4 P b4 ` c4 p d4 
! 85 1 95 A a5 Q b5 a c5 q d5 
" 86 2 96 B a6 R b6 b c6 r d6 
# 87 3 97 C a7 S b7 c c7 s d7 
$ 80 4 90 D a0 T b0 d c0 t d0 
% 81 5 91 E a1 U b1 e c1 u d1 
& 82 6 92 F a2 V b2 f c2 v d2 
' 83 7 93 G a3 W b3 g c3 w d3 
( 8c 8 9c H ac X bc h cc x dc 
) 8b 9 9b I ab Y bb i cd y dd 
* 8e : 9e J ae Z be j ce z de 
+ 8f ; 9f K af [ bf k cf { df 
, 88 < 98 L a8 \ b8 l c8 | d8 
- 89 = 99 M a9 ] b9 m c9 } d9 
. 8a > 9a N aa ^ ba n ca ~ da 
/ 8b ? 9b O ab _ bb o cb db

不解释了上顺序:
4->5->6->7->0->1->2->3->4->c->b->e->f->8->9->a->b
总体是递增的
还没看后面的位数,不过大概可以知道是 四位为一组的混淆十六进制混淆,至于是递增还是递减,需要一定的数据量来判断。
下次采集1000条url数据进行判断。
待续。。。。
PHP 相关文章推荐
也谈php网站在线人数统计
Apr 09 PHP
PHP--用万网的接口实现域名查询功能
Dec 13 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
php强制运行广告的方法
Dec 01 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
php获取网页里所有图片并存入数组的方法
Apr 06 PHP
PHP实现的memcache环形队列类实例
Jul 28 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 #PHP
php随机输出名人名言的代码
Oct 07 #PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 #PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 #PHP
php生成局部唯一识别码LUID的代码
Oct 06 #PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 #PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 #PHP
You might like
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
PHP中16个高危函数整理
2019/09/19 PHP
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
初探nodeJS
2017/01/24 NodeJs
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
《诺贝尔》教学反思
2014/02/17 职场文书
企业文化理念标语
2014/06/10 职场文书
安全口号大全
2014/06/21 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python