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

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

1.jpg

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

2.jpg

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

3.jpg

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

4.jpg

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

5.jpg

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

6.png

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

7.jpg

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

8.png

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

9.png

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

10.png

于是乎~~~

11.jpg

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

12.png

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

$mb_password=sql_password($mb_password);

找到sql_password的函数是这样的,

13.png

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

14.jpg

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

15.png

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

16.jpg

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

17.jpg

果然是托了影阔菊花的福了....
然后进后台,
可以改允许上传格式,

18.png

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

挖掘机技术到底哪家强?