再记由目录遍历到getshell

警告
本文最后更新于 2019-03-14,文中内容可能已过时。

上一篇文章之后,大家的反应出乎我的意料,可能是因为出于某些问题,此类文章较少较小众。我希望我可以通过文章记录的形式,来将经验和思路分享给大家,也欢迎大家找我交流经验。文笔不好,如有错误,欢迎斧正。

全文纯属虚构,如有雷同,就雷同吧。

目标国外站http://xxx.xx.com/

云悉指纹

Web指纹PHP/5.3.3,CentOS,Apache/2.2.15
语言PHP/5.3.3
数据库
Web容器Apache/2.2.15
服务器
全球排名
操作系统CentOs

ip:175.117.xxx.xxx 无cdn无waf

概览全局

访问直接跳转到http://xxx.xx.com/member/login.php

https://y4er.com/img/uploads/20190509164910.jpg

手动测试万能密码,尝试无果。

查看源代码寻找敏感路径或敏感api

https://y4er.com/img/uploads/20190509160468.jpg

发现敏感路径

访问仍然跳转到登陆界面,放弃。

目录有迹可循,没有加特殊前缀后缀,掏出御剑

https://y4er.com/img/uploads/20190509161518.jpg

http://xxx.com/admin

https://y4er.com/img/uploads/20190509169731.jpg

简陋后台,尝试万能密码,无果。

查看源代码,无果。(有些账号密码会写在源代码中!)

http://xxx.com/member

https://y4er.com/img/uploads/20190509162911.jpg

发现目录遍历,大部分都被重定向到登陆页面。看下御剑扫出的另外几个

xxx.com/temp/

https://y4er.com/img/uploads/20190509167791.jpg

http://xxx.com/html/ 404

http://xxx.com/data/ 看到这个我知道这个站死定了

https://y4er.com/img/uploads/20190509167028.jpg

被扫描器扫描之后创建了很多文件夹,并且时间都是最近的。很有可能后台编辑器不登陆就能用。

三个目录遍历点,我们需要耐心找下可以利用的文件或者目录。注意留意upload字样的文件夹,因为很有可能会有前人的脚印。这里说一点就是如果你找到前人的马但是不知道密码,你可以尝试下载同名的图片用记事本打开。

测试之后总结下可能被利用的点

http://xxx.xxx/data/imagesfile/upload/文件上传的目录

http://xxx.xxx/data/log/error_201511.logMySQL错误日志爆出绝对路径

http://xxx.xxx/member/check_userid.php

http://xxx/member/message.php

https://y4er.com/img/uploads/20190509162150.jpg

唯一没打码的黄字导航存在注入,post搜索框存在注入,无任何过滤

http://xxx/board/?bid=1

到这里我想的是root权限+绝对路径写shell,美滋滋?

然后sqlmap报了这个,非root,非dba,服了

https://y4er.com/img/uploads/20190509164069.jpg

那只能跑后台管理员账号密码了。。然后没找到管理员表。。。国外站就是太卡,让他先跑着,回头继续看目录遍历,我们现在的目的要转向上传点上。

然后我在目录遍历之中没找到上传点。服了。

在之前的注入点之中,

https://y4er.com/img/uploads/20190509161078.jpg

我忽略了一个细节,而这个细节是谷歌翻译帮助我发现的- -

https://y4er.com/img/uploads/20190509168152.jpg

这个注入点是查看帖子,那么与之相对应的右下角既是发布/创建帖子。

上传点

https://y4er.com/img/uploads/20190509164556.jpg

https://y4er.com/img/uploads/20190509165309.jpg

上传点可用

https://y4er.com/img/uploads/20190509162473.jpg

尝试getshell apache+php5.3 图片白名单 上传重命名 尝试解析漏洞和截断,无果。

发现编辑器还有一个上传点

https://y4er.com/img/uploads/20190509166039.jpg

https://y4er.com/img/uploads/20190509167995.jpg

抓包

https://y4er.com/img/uploads/20190509161165.jpg

未重命名!

https://y4er.com/img/uploads/20190509169611.jpg

apache解析漏洞getshell

https://y4er.com/img/uploads/20190509165481.jpg

访问404???

发现不存在_thumb这个目录,不知道怎么回事。

借助之前的目录遍历找到shell

https://y4er.com/img/uploads/20190509161244.jpg

蚁剑

https://y4er.com/img/uploads/20190509164656.jpg

权限是apache,

https://y4er.com/img/uploads/20190509163005.jpg

脏牛获取root,懒得截图了。

总结:扫描=》发现目录遍历=》发现注入点=》发现编辑器=》解析漏洞=》getshell=》回马枪目录遍历找到shell=》脏牛

这篇文章花了半个小时去复现截图写稿,但是渗透的整个过程花掉了我两天时间,期间拐过各种坑,总而言之就是自己的经验不足,不够细心,谷歌翻译这个我是真的无语。实战是最好的老师。

文笔不好,写的很乱,见谅。

对文中1.php.rar_1_1.jpg的疑问,Apache解析漏洞是从右向左解析,格式识别不到才往前读啊,jpg格式Apache能解析到鸭,为啥继续往前读了,并且读到了php……

https://y4er.com/img/uploads/20190509164530.jpg

如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。不算解析漏洞,算是用户配置错误。文中本意是用解析漏洞,但是图截的有问题,抱歉。