背景
数据库扫描包括登录账号检查和漏洞检测。本文以分析安数云数据库扫描工具的工作过程来讲述数据库扫描的实现原理。
MySql扫描
账号检查
安数云通过检查mysql.user表的方式来检查登录账号的安全性。例如安数云对某个mysql数据库的扫描结果如下:
检测用的sql语句如下:
select 1 from mysql.user where user = 'root' limit 0,1
select 1 from mysql.user where host = '%'
select 1 from mysql.user where user = '' or user is null limit 1
通过以上检查,如果能够得到返回结果“1”,说明登录账号有安全隐患
漏洞检测
安数云平台的漏洞信息来自国家信息安全漏洞共享平台(CNVD)和国家漏洞安全漏洞库(CNNVD)。安数云通过将数据库的版本和发布的漏洞信息相匹配,得出目标数据库的漏洞信息。例如测试的MySql版本是5.1.58,提示数据库有以下漏洞:
我们根据其中的CNVD编号得到国家信息安全漏洞共享平台发布的