免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 网站相关 > 网站安全 > 一次艰难的渗透过程(涉及到内容很广)(8)

一次艰难的渗透过程(涉及到内容很广)(8)

时间:2012-04-16 20:47来源:未知 整理:寂涯网络 点击:


H:i:s")."\r\n";
$result=$recontent."\r\n".$content;
@fwrite($handle,$result);

这次我没有着急,因为我发现这个管理员很勤快,几乎天天更新博客,于是第二天顺利
记录到其密码。


discuz!提示问题的阻碍

在拿到管理员变态密码迫不及待的登陆之后,第 8 次悲催的运气也同时降临了。他需要 提示问题的答案才能登陆。 鬼才知道他母亲的名字,他爷爷的名字,他父亲出生的城市,他老师的名字…… 再说他也不一定就老老实实写真实答案啊。
在以前,我遇到此类情况都是直接放弃,但是这次不同,前面一个多礼拜承载了我太多
 
的磨难和脑细胞,我无法说服自己放弃。不是有一个早期的 bbs 的用户数据库嘛?我于是找 到了密码提示问题答案的加密字段为:2afd4591.仅仅是一个 8 位的串,到底是什么加密算 法呢。
我再次担当了阅读源代码的苦力差事。引用 2yue 的一句话,把我累得跟骆驼一样,终于 得到如下结果。
Discuz 提示问题有 7 个,按数字序号是 1,2,3,4,5,6,7。设为变量$i 明文答案设为变 量$pass.那么 2afd4591=substr(md5($pass.md5($id)),16,8)这样的话,提示问题答案是可 以暴力跑的啊,但如果他的答案是汉字或者很变态的长度的明文,也是很难爆出来的。我发 现他最后的 hash 串仅仅是 8 位,那么有很大的几率是可以碰撞成功的。
于是我认为:肯定存在多个明文,hash 与 2afd4591 一样,但明文不一样,我十分肯定 我的分析。下面就需要先制作一个大字典,然后开始写程序,碰撞吧。


OllyDBG 调试 superdic 并制作注册机

我可没有那么多耐性去做重复的工作,我认为肯定有很多人写过字典生成工具,下载一 个用就是了。于是我下载到这个小工具 superdic,还挺好用的。如果要使用完整功能,需要花注册费 15 元,在国内企业压榨我们搞网络安全
的薪水的背景下,还让我掏出这 15 块钱,貌似不是太容易的。
自己操刀 OllyDBG 调试一下,看这个作者用什么加密算法保护自己的程序吧。其实有时候
调试算法,破解作者的加密思路也是一个不错的游戏,但是这次我没有那么多精力了,如果
它能在两个小时内阻挡我,那我就从我绵薄的存款中给作者奉献一回吧。 先用 peid 加载 superdic.exe 如图 20图20
 从图 20可以看出,软件是 vc++6.0写的,且没有加壳。看到这些我很遐意,看来省了
我不少事。再用ida加载函数库符号并导入OllyDBG后,就可以开始分析了。
F9 运行后我首先用注册码等于 123456789,点注册,弹出一个对话框,提示“请重启
本程序,如果您输入的注册密码正确,将能使用本软件的全部功能,并可享受后续版本的免
费升级。”那么一般来说,重启验证要么是keyfile,要么是写入注册表。经过下断点测试,
我发现该程序使用的是注册表验证。
这样一来,下断就有思路了。
用 OllyDBG加载 superdic.exe后,在命令行下断bp RegOpenKeyExA,然后按f9让其运
行,眼睛同时观察着右边的堆栈窗口,在第6次f9之后,断在了这里如图21:
图21
 从堆栈可以看到该软件注册表的位置是:Software\\EUsoft\\superdic用 regedit打
开看一下这个位置如图22:
图22


图 22 中看到了 superdic 把用户名和注册码都保存在了 Software\\EUsoft\\superdic
这个位置。
这时在 0x77da7852 这个位置,按 f2 取消断点,然后 alt+f9 即可回到应用程序领空。这样 一路 f8 可以来到这里
 
/*403AEA*/    LEA ESI,DWORD PTR DS:[EBX+6FC]
/*403AF0*/    PUSH ESI
/*403AF1*/    CALL superdic.004027A0
/*403AF6*/    ADD ESP,0C
/*403AF9*/    MOV ECX,EBX
/*403AFB*/    PUSH ESI
/*403AFC*/    PUSH 4A0
/*403B01*/    CALL superdic.00430B3C
/*403B06*/    MOV EDX,DWORD PTR DS:[EBX+218]
/*403B0C*/    LEA ESI,DWORD PTR DS:[EBX+218]
/*403B12*/    PUSH 0FF
/*403B17*/    MOV ECX,ESI

可以在 0x403af0 处设置一个断点,接着 f7 进入 CALL superdic.004027A0,大致一看 应该是申请号的生成方法,代码如下:

本页地址 http://www.jybase.net/wangzhananquan/20120416827.html

百度搜索更多

谷歌搜索更多

顶一下
(1)
50%
踩一下
(1)
50%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com