记一次源码泄露引发的惨案
The following article is from 雁行安全团队 Author fs
公众号现在只对常读和星标的公众号才展示大图推送,
建议大家把听风安全设为星标,否则可能就看不到啦!
----------------------------------------------------------------------
0x00
hw中分到一个目标,目标的站点只有几个,其中有一个asp的站点看起来好打一点。那么我们就盘他一下。
网站就长这样,看着就很好搞。。。
只有一个登录框那就简单的爆破一下吧,但是有验证码就很烦。也没想那么多就先试试admin/123456吧,很好。
手动尝试不行那就只能上工具识别验证码进行爆破了,刚准备抓包的时候瞄了一眼验证码的获取接口,一阵无语。这老哥直接Set-Cookie了。。。
复制粘贴一下验证码进行登录。
直接扔repeater里面重放,不得不说开发老哥太贴心了。
同理尝试小试了一点验证逻辑,果然。。。6
验证码废了,那就继续看看密码,由于是加密的,所以先找找加密算法。关键字一搜,很好找。
由于是对称性加密每次加密的结果都是固定的,就不再把加密实现一遍了(就是懒),直接上常用账户名组合上加密后的123456开始爆破,但是很不幸运,拉了。
后面组合了一下账号密码,用js把密码加密了再进行爆破,再后来上了万能密码,100w字典,反正没怼出来,
0x01
回到正轨,既然这个系统不行,那我们就换个一怼,生成一下icon_hash,用fofa找到了154个。
使用前面相同的办法进行爆破,很好,浪费大半天时间一个都没怼进去。。。(MD太坑爹了,后面说)
俗话说“上帝为你关一扇门。。。“,咱直接翻窗子。
通过目录扫描,在不知道第几个站上发现一个“1.zip”。
解压出来发现是源码,简单看一看,发现了一个upload接口,而且是非常纯洁的上传。
不像其他接口还获取一下cookies这些乱七八糟的。
这里给这系统的开发老哥和这站的运维老哥点个赞。
0x02
后面就是有手就行,构造一下需要的folder参数,直接上传webshell就上去了,然后使用同样的手法拿下了目标站,直接把webshell扔给大哥们,结束。
0x03
当然不能这么简单的结束了,我倒要看看是什么密码,让我爆了半天没报出来。
首先找到数据库配置文件,加密的。。。
找了找数据库连接代码,结果C#嘛,只有一行代码。。。
没办法,只能看dll了。
通过反编译dll,发现了数据库的连接方式和解密代码。
跟进解密代码,发现是DES加密,解密的话需要密钥(key)和偏移量(iv)。
在代码定义变量的地方找到了明文的key和iv参数值。
通过在线网站http://tool.chacuo.net/cryptdes,进行解密,但是没有解出来。
又看了看代码,发现key和iv赋值前调用了Get8Byte函数,用0补齐了8位。
把偏移量拼上一个0后成功解密。
配置数据库连接信息,成功连接。
找到用户表,看了看,啥Adminrs?systemrs?我字典里没有啊。倒是下面的用户名看起来很简单,但是我为啥没爆出来呢。
把加密后的密码扔到cmd5进行解密。
。。。。。。
我试了一下空口令,直接登进去了,离谱离谱离谱
最后查了一下管理员的密码,是他们公司的联系电话。
但是那俩管理用户名我的字典里确实没有,而且也没想到用他们公司联系方式去当密码爆破。
之前也遇到过公司简称@年份、公司主域名这种的密码但是这次都没去尝试。