sqlmap是什么工具?
第20期网络安全就业班:2023年08月28日 开班地点:北京
CISP/CISSP/CISP-PTE/CISA/CISW...网络安全证书认证
sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。
sqlmap是一种开源渗透测试工具,它自动化了检测和利用SQL注入缺陷以及接管数据库服务器的过程。它具有强大的检测引擎、针对终极渗透测试仪的许多小众功能,以及一系列广泛的切换,从数据库指纹、从数据库获取数据到访问底层文件系统以及通过带外连接在操作系统上执行命令。
官网下载:https://sqlmap.org/
sqlmap官方python版下载:
https://github.com/sqlmapproject/sqlmap/
sqlmap支持常见的六种不同的注入模式(不计算其他数据库类型):
1、基于布尔盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入、即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入、可以使用union的情况下的注入。
5、堆查询注入、可以同时执行多条语句的执行时的注入。
6、内联查询注入、在sql语句中执行sql语句
SQLMAP使用常规步骤
1、判断是否有注入
sqlmap -u http://127.0.0.1/sqli/Less-1/?id=1
2、查看所有数据库
sqlmap -u http://127.0.0.1/sqli/Less-1/?id=1--dbs
3、查看当前使用的数据库
sqlmap -u http://127.0.0.1/sqli/Less-1/?id=1--current-db
4、查看数据表
sqlmap -u http://127.0.0.1/sqli/Less-1/?id=1-D security --tables
5、查看列名
sqlmap -u http://127.0.0.1/sqli/Less-1/?id=1-D security -T users --columns
6、查看数据
sqlmap -u http://127.0.0.1/sqli/Less-1/?id=1-D security -T user --dump
全面支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、Informix、MariaDB、MemSQL、TiDB、CockroachDB、HSQLDB、H2、MonetDB、Apache Derby、Amazon Redshift、Vertica、Mckoi、Presto、Altibase、MimerSQL、CrateDB、Greenplum、Drizzle、Apache Ignite、Cubrid、InterSystems Cache、IRIS、eXtremeDB、FrontBase、Raima Database Manager、,YugabyteDB和Virtuoso数据库管理系统。
完全支持六种SQL注入技术:基于布尔的盲、基于时间的盲、基于错误、基于联合查询、堆叠查询和带外查询。
通过提供DBMS凭据、IP地址、端口和数据库名称,支持直接连接到数据库,而无需通过SQL注入。
支持枚举用户、密码哈希、权限、角色、数据库、表和列。
自动识别密码哈希格式,并支持使用基于字典的攻击破解密码哈希格式。
支持根据用户的选择完全转储数据库表、一系列条目或特定列。用户还可以选择仅转储每列条目中的一系列字符。
支持搜索特定数据库名称、所有数据库中的特定表或所有数据库表中的特定列。例如,这对于识别包含自定义应用程序凭据的表非常有用,其中相关列的名称包含类似字符串的名称和传递。
当数据库软件为MySQL、PostgreSQL或Microsoft SQL server时,支持从数据库服务器底层文件系统下载和上载任何文件。
当数据库软件为MySQL、PostgreSQL或Microsoft SQL server时,支持在数据库服务器底层操作系统上执行任意命令并检索其标准输出。
支持在攻击者计算机和数据库服务器底层操作系统之间建立带外有状态TCP连接。根据用户的选择,该通道可以是交互式命令提示符、流量计会话或图形用户界面(VNC)会话。
通过Metasploit的meterpeter getsystem命令支持数据库进程的用户权限提升。
有关这些功能的详细分类,请参阅wiki。