长亭百川云 - 文章详情

一次不一样的目录遍历到GetShell

楼兰学习网络安全

43

2024-07-13

一、概述

本文分享对某个目标GetShell的全过程。

二、正文

1、目录遍历

先摸了一下,目标tp5.0.9,开了debug但是RCE都修了,随手访问一下runtime目录。

发现Apache配置错误,导致了目录遍历漏洞,

2、窃取会话ID

其中session文件夹保存着对应的session_id,如果有管理员登陆过的session_id,那么可以直接登陆后台,翻了一下,翻到一个。

3、构造Cookie登录后台

直接设置cookie:

PHPSESSID=omdp4xxxxxxxxxxxxxx

访问URL:

http://www.xxx.com/admin/index/index.html

成功登陆后台:

4、尝试修改文件上传配置

在系统参数可修改上传参数,添加php后缀

虽然可修改后缀,有上传接口,但是系统的默认上传文件组件为ueditor,不受后台参数所配置,无法上传webshell。

5、利用HTML源代码推测接口

不死心,分析了会网页源码接口:

由/admin/file/del.html 接口推测可能存在接口:/admin/file/upload.html

6、利用Debug信息构造请求

直接访问该路径,因为缺乏参数,导致程序报错,获取到上传关键源码信息。

看到关键点,允许上传的文件类型取于数据库,很有可能就是我们配置的地方。

构造文件上传的请求包:

7、Getshell

虽然由于创建缩略图过不了getimagesize导致报错,但是前面的php文件其实已经创建完成,在报错里面可以获取到路径,最终拿到webshell。

三、总结

目标站点使用了框架ThinkPHP5.0.9,但是RCE漏洞已经修复;凭借对ThinkPHP多年的理解通过访问Runtime目录获取到后台用户的sessionid,并成功登录后台;尝试通过修改文件上传配置,上传WEBSHELL,失败;通过其他接口推测出另外一个上传接口;通过Debug泄露的信息构造请求包,成功GETSHELL;

微信扫描二维码,关注我的公众号

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2