在检查代理服务器的审核日志时,我看到大量登录 POST,其中包含有关用户名或密码的信息,这些信息看起来像是经过 Base64 编码的。这显然来自某种恶意软件活动,因为流量显示任何成功登录都会导致论坛垃圾邮件,但这不是问题的重点。
看看这些真实的例子(减去用户名,以保护无辜者):
2012-07-07 15:04:49,741 POST 数据(bitstudyclub.org):用户名=匿名&密码=kc1ahpXXE &remember=yes&submit=Login&action=do_login&url=
2012-07-07 15:06:52,081 POST 数据 (www.vampirediaries.org): username=ANONYMIZED& password=KDbcZ75fg &remember=yes&submit=Login&action=do_login&url=
2012-07-07 15:08:37,983 POST 数据 (www.missionmountain.com): XID=52ee69654fddd13d2a0323c95eaca5c7b736bdd8&ACT=9&FROM=forum&mbase=http:
%2F%2Fwww.missionmountain.com%2Findex.php%2Fforums%&
id= 2Fmember2%2Frda 1&RET=http:%2F%2Fwww.missionmountain.com%2Findex.php%2Fforums%2F&site_id=1&
username=ANONYMIZED&auto_login=1&password= yn2b4ne9VC &sub
mit=登录
2012-07-07 15:19:47,476 POST 数据 (www.diecutdesigner.com): username=ANONYMIZED&password= 8zcs13hzYH &remember=yes&submit=Login&action=do_login&url=
2012-07-07 15:20:36,729 POST 数据 (classjuice.com): username=ANONYMIZED&password= 8zcs13hzYH &remember=yes&submit=Login&action=do_login&url=
2012-07-07 15:20:43,866 POST 数据 (wodrpg.com): username=ANONYMIZED&password= 8zcs13hzYH &remember=yes&submit=Login&action=do_login&url=
在一遍又一遍地看到这种事情之后,我的问题变成了如何弄清楚看起来像 Base64 的“密码”字符串的编码?如果这些字符串是实际的(MD5/SHA1-looking)哈希,似乎可以通过检查彩虹表来尝试恢复明文,但无论如何我都看不到“我有一个随机的非十六进制字符串”到“这就是我知道 (x) 是派生该随机字符串的哈希值的方式。”
如何将 POST 条目(如上)中的“密码”字符串识别为给定的编码,然后将它们转换回实际的密码哈希?