|
Foxmail漏洞分析
先假设你在Foxmail中有且仅有一个账户:abcde,它的E-mail地址是abcde@163.net,这个信箱的密码是12345。
用记事本打开accounts.cfg文件,一开始是一些乱七八糟的内容,再往下你会看到如下所示内容:
MailAddress=abcde@163.net //这是邮件地址
………………………………
POP3Account=abcde
POP3Host=pop.163.net //POP3服务器地址
POP3Password=BB6DFB5DF061 //邮箱密码加密后显示的密文
POP3Port=110 //POP3服务器端口
PrintFont=宋体,9
ReplyAddr=
ReplyFormat=1
SameWithPop=1
SMTPHost=smtp.163.net //SMTP服务器地址
SMTPPort=25 //SMTP服务器端口
……
在计算Foxmail邮箱密码明文之前,请你先记住一个单词:~draGon~(注意要区分大小写),它是Foxmail邮箱密码的加密密钥。记住后我们开始行动:
第一步:下载一个十六进制文件编辑器UltraEdit,这是一套极棒的文字、Hex、ASCII码编辑器,内建英文单字检查、C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。其并且附有HTML Tag颜色显示、搜寻替换以及无限制的还原功能;一般大家常会用其来修改EXE或DLL文件。大家可以在这里下载到它:http://software.wx88.net/down/cuedit1010b.exe。安装完毕,运行UltraEdit,在它的文件编辑状态下输入“~draGon~”这个单词(没有引号),然后单击“Edit”(编辑)菜单下的“Hex Edit”(16进制编辑),可以查到这个词的16进制编码(图3),为:7E 64 72 61 47 6F 6E 7E,分别记为a1,a2,a3,a4,a5,a6,a7,a8,我将它们称之为Ai。

第二步:再记住一个恒定的值:5A(其实也是由上面的a1~a8计算而来,具体方法就不多说了),记为C0,这个C0我们在下面会用到。
第三步:取邮箱密码加密后的密文,在本例中为:BB6DFB5DF061,将它们两两分开,得到:BB,6D,FB,5D,F0,61,分别记为b1,b2,b3,b4,b5,b6。由于此加密密文的总长度为12,所以我们可以判断邮箱真正地密码长度为12÷2-1=5,即邮箱密码为5位。
第四步:计算Ci的值(Ci为一系列数的总和,即C1,C2,C3,C4,C5……)。其中,C1由C0(即16进制的0x5A)和第一位密文(即b1,也就是我们这个例子中的BB)经异或运算得来。由于C0=0X5A,所以C1=C0^0XF9=0xE1,其中“^”代表异或运算。大家可以使用Windows自带的计算器来进行计算,点击“开始→程序→附件→计算器”即可打开计算器(图4),计算器中的“XOR”就代表异或运算。由此得到:

文章页数:[1] [2] [3] |