从任意文件读取到GetShell
2019-12-21 10:53:32 Author: xz.aliyun.com(查看原文) 阅读量:381 收藏

背景:

客户收到钓鱼短信,打开之后发现是一个上传身份证的应用,以下步骤是对该网站的一次测试。

起手

先到处点了下,身份证是上传到OSS的,功能比较单一,pass。跑一下子域名看看

搜集信息

上lijiejie的subDomainsBrute,然后跑了几个子域名,发现其中一个子域名比较有意思: admin1.example.com。打开一看,左边一个大大的测试环境,是一个登录管理的页面,随手测了弱密码: admin/admin1234登录成功。

任意文件读取

在后台发现可以编辑上传图片,有一个接口是读取图片的,此处存在任意文件读取漏洞:

先缓一下,用扫描器扫一扫这个IP都运行了什么鬼:

此时有点懵,不知道从那个地方入手读文件,这么多http服务。先读了/root/.bash_history 和/etc/shadow都可以成功,shadow先放着不动,最后日不动再回来看,读完/root/.bash_history就会对这个系统有一个大概的认识。

GetShell

寻思了下8888端口跑的是某塔,显示不是安全入口。搜了下,这个面板为了安全把安全入口隐藏了,安全入口的路径是:/www/server/panel/data/admin_path.pl, 然后利用任意文件读取漏洞读一下,获取该路径,此时有了登录入口。

从github下载源代码,看了下密码存储是以md5的形势放在SQLite里面: /www/server/panel/data/default.db,读一下然后save to file保存到本地,用naticat读取数据库,得到登录的账号密码,然后去cmd5查一下,GET。


文章来源: http://xz.aliyun.com/t/6958
如有侵权请联系:admin#unsafe.sh