长亭百川云 - 文章详情

【工具开源】MysqlSql语句监控工具——MysqlLogMonitor

MS509

71

2024-07-13

文章目录

 

  1. 1. 前言

  2. 2. 实现

  3. 3. 功能

  4. 4. 使用

  5. 5. 项目地址

前言

网上其实有很多类似的MysqlSql语句监控工具,肯定有人问为什么要造轮子。
很简单,因为在平时的代码审计中,需要一个跨平台友好、功能简单实用、并且可以支持监控错误SQL语句的小工具。
拒绝臃肿,拒绝依赖多余的工具(比如tail.exe)。

实现

我所知道的有两种方式来做到Mysql执行记录监控

  1. 简单的方式,打开mysql general_log,实现类似tail的功能,循环读取日志文件。

  2. 专业的方式,建立一个proxy,监测client与mysql的通信。

此工具选择第一种简单的方式

功能

  1. 输出Mysql所有的SQL语句执行记录,关键点循环读取日志文件利用
    org.apache.commons.io.input Tailer类https://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/input/Tailer.html

  2. 高亮显示报错语句,这点在审计中寻找注入点很有必要,具体实现利用

druid SQL语法校验https://github.com/alibaba/druid/wiki/SQL-Parser

使用

mysql 高版本 general_log 不会记录执行错误的SQL语句到日志,需要在配置文件中[mysqld]中设置log-raw=1

本地测试了三个mysql版本

  • mysql5.5 不需要log-raw

  • mysql7.5 需要log-raw

  • mysql8.0.16 需要log-raw

mysql≥ 8.0.19 可以通过系统变量log_raw设置

log_raw

正常语句

高亮报错语句

项目地址

https://github.com/J0hnWalker/MysqlMonitor

版权声明:

本文由团队成员Walker**@MS509原创,转载请注明来源。**

MS509简介:

 

MS509是中国电子科技网络信息安全有限公司(简称“中国网安”)旗下从事安全漏洞挖掘及利用方法研究的纯技术研究团队,研究方向包括WEB安全、红蓝对抗、移动安全、逆向分析、二进制安全、智能硬件(IOT)安全、工控安全、无线安全、APT攻击追踪溯源、安全编程等。____更多团队动态,尽在博客www.ms509.com;微博搜索 MS509。

加入我们:https://www.ms509.com/contact/

↓↓↓ 点击"阅读原文" 【查看更多信息】

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2