记渗透某韩国网站的过程 2015-10-16

作者:王松_Striker
邮箱:song@secbox.cn
团队:安全盒子团队

许久没有上(ri)过网(zhan)了,前几天朋友给我发来一个棒子站
大概看了一下,基本环境是:PHP+MYSQL+Apache,
大小写切换了一下,把最后的php换成phP,得知系统为Linux

3011923461

随便点了几个链接,发现必须登陆才能访问,

2309348545

会提示无法访问然后跳到登陆页面,
简单测试了一下,发现登录框存在注入

2530507252

得知表前缀为:g4_ 字段前缀是mb_
注入了一会儿发现尼玛这条语句没有带入where mb_password啊…
就想着是分开判断的, 这会就愁了啊, 学着各位论坛朋友的姿势,
去楼上看了会AV, 顿时感觉神清气爽思路清晰啊….
然后去掉PHP文件名,试了试,发现存在目录遍历。

394124798

找了找没有找到什么能利用的东西,发现data目录下面有一个cheditor4目录,随后就去百度了一下这个编辑器,

1188153793

果然收获不小呀,发现这是一款韩国比较成熟的社区程序, G4, 于是就下了一套源码, 简单看了一下,

1893344349

果然是帐号密码分开验证的,
本来想装一套上去的,可是却发现各种报错,那还是算了吧, 仔细看看代码,
同时把代码发给影阔了一份,@小影 ps:小影已经在兄弟连把菊花献给我了!

3735883288

不过我们大影阔也确实没有让俺们失望, 说是找到了一个注入,表名可控

2877121967

于是赶紧操起神兽的大屌就上, 忙活了也无果,不过倒是爆出了数据库名是wfutures,
最后我在找回密码处存在SQL注入漏洞,在11行的mb_no可控且直接带入查询,

2496954502

浏览器上测试了一下,发现网站确实存在该漏洞。

145892585

于是乎~~~

2489165150

确定可以注入以后就开始构造语句注入帐号密码,

3453756766

爆出来以后发现密码不是16位,也不是32位…
然后就去代码里面找密码的加密方式, 发现

$mb_password=sql_password($mb_password);

找到sql_password的函数是这样的,

270152205

可以看到是用mysql的加密方式来加密的,
在本机测试了一下, 发现Mysql加密是41位的,

522987966

可是我们注入出来的的确不是41位,于是注入注入语句换成select length(mb_password) from xxxx 发现的确是41位,

1462516748

于是用substr截取到前几位 然后再截取到后几位 得到密码: AE68C3362DBF25A11909A3E4A47975D984CB4C57
解密的时候却发现。。。。

933727823

然后我和小影都没有思路了.. 于是我喊他去我寝室坐了一会儿,
抽根烟, 办完事,
下楼以后发现…..

3583493481

但是该网站却非常奇葩的在上传以后随机自定义了后缀名,并且不显示后缀名,
和影阔鼓捣了好久没有搞定,
发文章的时候还可以选择首位包涵php文件,可是尼玛只能包涵PHP文件…. 各种截断都不可以,
虽然木有拿下shell,(可能会有后续,只是可能!!可能!!!)
但是也只能先这样收尾了,
还有最后一个问题,这是影阔问我的,他说他现在电脑技术已经差不多了,
想问问我:

挖掘机技术到底哪家强?