前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实战|某面试靶场GetShell的艰难历程

实战|某面试靶场GetShell的艰难历程

作者头像
Timeline Sec
发布2020-12-03 16:00:18
1.4K0
发布2020-12-03 16:00:18
举报
文章被收录于专栏:Timeline SecTimeline Sec

前言:最近开始有点不太想学习新东西,突然翻到自己以前玩的几个面试靶场笔记还挺有意思的,正好趁这个时间重温一下,重新梳理一下坑点。 ——Liberty@Timeline Sec

正文:

1、拿到靶场地址给了两个提示:

(1)存在泄露文件(2)注意.htaccess文件

目标:远程登录到桌面

思考:

首先从提示来说大概猜测一下思路:

(1)泄露的文件可能会泄露如账号密码,或者是一些历史操作记录,源码文件等可提供到一些关键步骤的信息

(2).htaccess文件的话可能会考虑到存在上传点,利用.htaccess进行上传绕过

知识点:.htaccess文件

htaccess 文件是Apache服务器中的一个配置文件,用于实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能

2、提示给了存在泄露文件直接开始扫目录,看下扫出来的泄露文件是什么内容

可惜的是并没有扫出来泄露的文件,不过从扫出来的目录中可以看到有个报错页面,显示出了靶场用的thinkphp和phpstudy搭建的

3、尝试了网上爆的一些关于thinkphp和phpstudy的漏洞,都没有实际的一些进展

4、既然不能直接rce也没扫出泄露的文件,猜测的话可能是字典不够大,又换了个御剑继续扫目录,然后换个思路既然需要用到.htaccess文件,那应该是要去找上传点,注册了一个账号,发现前台的话只有一个上传点,就是头像

上传点处可以上传任意文件,一开始直接上传php文件竟然也直接回显了路径给我,以为已经稳了(手动滑稽)但是测试好像除了jpg.png.gif其他的文件都会显示说没有权限

尝试上传.htaccess文件绕过,测试之后发现还是不行,传上去的.htaccess文件和shell文件都说没有权限访问(这个上传点卡了很久,一直在尝试不同的绕过姿势)

5、尝试了很久都不行,猜错的话可能是前台上传做了一定的限制,只能先暂时留着这个点,看了一眼御剑发现还是没扫出备份文件,就连后台都没扫出来,直接当场裂开(这不是让我八百万字典难堪吗?)难道还是什么其他的姿势来获取这个泄露文件吗?

6、看来想通过提示快速的打开缺口的方式好像不行,只能好好看一下站点功能,寻找一些其他的漏洞。测试了很多功能点都没有测试出一些能有帮助拿权限的漏洞,而且看网站都是.html的页面这咋搞呀?

7、问了一下自己这个问题,html页面的话是不是有可能是伪静态页面呢?终于找到了一个注入打开了缺口(这里有个注意的地方就是伪静态页面用sqlmap跑的话,得要用*来指定参数才能识别,要不然就跑不出来)

http://xxx/help/fram/xxx/zjry*.html

成功找到了管理员的账号密码和后台登录地址(这里的后台是自己重新定义的怪不得扫不出来)

8、登录后台在一个功能点处可以直接查看目录文件,终于找到了泄露的文件,wwwroot.zip这么简单的文件名竟然都没扫出来,直接哭了。发现style目录下有用ueditor和kindeditor编辑器,想到可能存在上传的漏洞,尝试发现还是不行,这上传点都给限制的死死的呀!!!

9、下载下来之后查看源码文件的.htaccess文件,终于知道之前前台上传的点为什么一直都显示无权限了,是对UP目录下的php文件进行了限制,会跳转到error页面,然后编辑器的点查看源码也是对上传的后缀进行了白名单限制

继续搜索了一下config,index,lib,admin等敏感文件,发现了数据库的配置信息,尝试连接失败,telnet了一下端口原来端口都没对外开放

10、找到网站设置这个地方可以设置参数代码,尝试直接写入一句话

全局搜索找一下这个功能的地址/Admin/global/,跟进找到了GlobalAction.class.php这个文件

因为审计不是很强,用seay扫了一下发现有可能存在任意文件写入漏洞,然后自己读了一下扫出来的位置

大概的读了一下意思就是如果有一个100的data参数并且不等于url变量,就会把$path文件删除然后重新赋值,这里看可控的变量就是这个url,然后data的值又会给url

直接尝试构造一句话,写进去直接连shell之后发现后台访问不了了,直接GG,然后查看了一下写进去的内容发现是语句没构造好,重新替换一下文件恢复后台访问

11、之后就是常规的执行命令远程登录,在这里倒是没有做什么限制,直接整就完事

总结:

整个过程下来其实有可能Getshell的点挺多的,但是大部分都给做了限制,尤其是通过上传来getshell的方法给限制的比较难受,上传的点很容易纠结和尝试很长的时间,后面发现.htaccess文件直接定义限制了UF目录下的可执行文件,还有就是伪静态页面好久才想到这个点,经验还是有点不足。

总体来说主要的考点还是放在代码审计方面,后面重新浏览后台功能,虽然发现了可写入的点,但是因为自己对代码这一块属实不太熟悉,导致没写好payload影响到了后台,php这块还是太垃圾了。

关注我们看更多实战文章

Timeline Sec 团队

安全路上,与你并肩前行

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
代码审计
代码审计(Code Audit,CA)提供通过自动化分析工具和人工审查的组合审计方式,对程序源代码逐条进行检查、分析,发现其中的错误信息、安全隐患和规范性缺陷问题,以及由这些问题引发的安全漏洞,提供代码修订措施和建议。支持脚本类语言源码以及有内存控制类源码。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档