止普通用户注册和登陆的。 罢了,我社工真的不擅长,不太会与人交互,还是靠自己吧。 V5的迂回战术 考虑到好不容易拿到 http://www.bbb.com的hash,不能这么轻易放过这个站啊。于是 想到看这个管理员有没有其他的站,通过拿下他自己的另外的站然后再得到其密码也是一个 不错的选择。这就是所谓的迂回战术吧,我不从正面进攻了,我从你有弱点的地方进攻还不 行嘛? 于是我根据他网站提供的信息,再加上whois 查询、域名查询、谷歌、百度,终于发现 这个管理员在其他虚拟机还存在三个类似的站分别是: http://www.bbb1.com http://www.bbb2.com http://www.bbb3.com 虚拟主机操作系统同样是windows2003.令人兴奋的是这三个站与 www.bbb.com使用的是 同一套cms,都是 3hooCMS V3 SP2. 利用我前面发现的 sql 注入漏洞很容易得到 bbb1、bbb2 两个站的后台管理员的密码 hash都为【fead0df1fe60103eaba454dd0a7e0842】,和bbb.com是一样无法破解的。 第五次悲催的运气令我暂时放弃了一段时间。 又过了一天,我怀着百分之一的希望把www.bbb3.com也扫了一遍,但惊奇的是密码hash 和其他三个都不一样,立刻拿到cmd5 去破解,但需要花一毛钱才能破解。虽然国内企业不 重视安全人才,把搞网络安全的薪水压的很低,但一毛钱我还是付的起的。 就这样我拿到了www.bbb3.com管理员的密码。这下我感到形式一片大好,思路是这样: 1.通过进入bbb3.com的后台,得到一个webshell。 2.再从 webshell里通过提权跨目录到bbb2.com。 3.改写 bbb2.com的后台登陆后代码,嗅探其明文密码。 4.同步进行ftp密码的破解,顺便去尝试bbb.com的ftp。 至此我感觉这个迂回的战术还算威武吧。 从再读 cms 源代码到后台 getshell 进入 www.bbb3.com后台后,尝试了上传的地方,又看了源代码,发现没什么漏洞,他 严格检测了后缀并以时间格式强制改了上传后的文件名。应该是较成熟的上传代码。而网站 设置那块是写入数据库的。唯一可能出问题的地方也就是数据库备份这里了。如图15: ![]() 从图 15 得知数据库的路径和后缀,不过看着诱人的asa 后缀,却做好了防下载处理, 我利用 asp小马代码入库的方式来测试,发现#Data23%base#.asa是无法执行asp 的。 只剩下备份这里容易出问题了。 大家肯定是这样想的,上传一个带一句话 asp 木马的图片,然后备份这个图片为 asp 不就完事了吗? 但悲催的是有以下几个问题需要解决: 1.当前数据库路径输入框这里和备份数据库名称输入框这里都是只读的,无法更改。 2.即便备份为a.asp;a.jpg也不可执行(我后来才知道,可能是防火墙拦截的原因)。 第一个问题好处理,客户端的一切防御手段都是浮云。一个readonly能阻挡我这个久经 沙场的老将吗?不论是把其 htm 存下来,把 action 完整路径附上提交,还是用 firefox 的 插件,再或是用国外的神器burpsuite,都能轻松绕过。 至于第二个问题,我发现肯定备份出了 a.asp;a.jpg 类型的文件,可是用浏览器访问却 总是出现恶心的404错误。 我只能再看其cms 源代码,看他备份这里到底是如何处理的。 看了一会儿后,如愿以偿的发现了问题,漏洞文件为Admin_DataBackup.asp 代码65—83 行代码如下: sub backupdata() Dbpath=request.form("Dbpath") Dbpath=server.mappath(Dbpath) bkfolder=request.form("bkfolder") bkdbname=request.form("bkdbname") Set Fso=server.createobject("scripting.filesystemobject") if fso.fileexists(dbpath) then 72.If CheckDir(bkfolder) = True Then 73.fso.copyfile dbpath,bkfolder& "\"& bkdbname & ".mdb" 74.else 75.MakeNewsDir bkfolder 76.fso.copyfile dbpath,bkfolder& "\"& bkdbname & ".mdb" end if response.write "<center>备份数据库成功,备份的数据库路径为 " & bkfolder & |