MySQL数据库
-b,用来获取数据库标识
--hostname,可以获取数据库服务器的主机名
-current-user,用来获取当前连接数据库的用户名
--users,获取数据库管理系统中的所有用户
--passwords,可以获取数据库用户密码的哈希值
--current-db,可以用来获取当前连接的数据库名称
--dbs,用来获取数据库管理系统中的所有数据库名称
--tables用来枚举数据库管理系统中的所有表,可以使用-D选项指定数据库名称
-columns,可以用来获取数据表的所有列,可以使用-D选项指定数据库名称,使用-T选项指定数据表名称
--dump,可以用来获取数据表中的内容,并且默认会将内容保存在CSV格式的文件中(dump翻译为转储),可以使用-D和-T选项指定数据库和数据表名称,选项-C,可以用来指定列名
--comments,可以用来获取注释信息
--count选项获取数据表的条目数,-D和-T选项指定数据库和数据表名称
MSSQL数据库信息
通常用于ASP+IIS+MSSQL或ASP.NET+IIS+MSSQL架构中
-b,用来获取数据库标识
-is-dba选项可以用来检测数据库用户是否为DBA(数据库管理员)
--current-db,用来获取当前连接的数据库的名称
--dbs,用来获取数据库管理系统中的所有数据库名称
选项--users和--passwords,可以用来获取数据库用户和密码
其余获取表名称,列名称与mysql一样
Access数据库
通常用于组成Windows+Access+ASP/ASP.NET架构。是一种文件型数据库,它不像MySQL和MSSQL,需要先创建数据库,然后创建表,最后将数据保存到表中。Access数据库采用表名+列名+内容数据的形式构成一个后缀为.mdb或.accdb的文件。一个文件就是一个数据库,其中可以包含多张表
-b选项用于进行指纹识别
-common-tables用来暴力破解数据表,默认使用common-tables.txt字典进行破解,该字典默认保存在/usr/share/sqlmap/data/txt/目录下
--common-columns,用来暴力猜测数据表列。该选项默认使用common-columns.txt字典进行暴力破解,该字典保存在/usr/share/sqlmap/data/txt/目录下
--dump选项默认利用wordlist.tx_字典暴力破解数据表列所存储的内容。该字典默认保存在/usr/share/sqlmap/data/txt/目录下
Oracle数据库信息
-b选项获取目标数据库的指纹信息
--hostname选项可以获取数据库服务器所在的主机名称。
--current-user用来获取当前的数据库用户
--roles,可以用来枚举数据库用户的角色。
--is-dba,可以判断当前数据库用户是否拥有DBA权限
其余获取表名称,列名称与mysql一样
sql语句执行
选项--sql-query,可以用来指定SQL查询语句(=加'''')
--sql-shell,用于启动一个交互式SQL Shell
总结:渗透测试过程中,信息获取得到数据库名称一般就可以,点到为止,渗透测试的目的是测试系统是否有风险漏洞,而不是为了获取数据库信息!