通用功能
全面支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP MaxDB,Informix,MariaDB,Percona,MemSQL,TiDB,CockroachDB,HSQLDB,H2,MonetDB,Apache Derby,Amazon Redshift,Vertica,麦科伊,Presto,Altibase,MimerSQL,CrateDB,Greenplum, Drizzle,Apache Ignite,Cubrid,InterSystems Cache,IRIS和eXtremeDB数据库管理系统。
完全支持五种SQL注入技术:基于布尔的盲注,基于时间的盲注,基于错误的,UNION查询和堆叠查询。
通过提供DBMS凭据,IP地址,端口和数据库名称,支持直接连接到数据库而无需通过SQL注入。
可以提供一个目标URL,从Burp代理或WebScarab代理请求日志文件获取目标列表,从文本文件获取整个HTTP请求,或者通过为sqlmap提供带有查询Google的Google dork的目录来获取目标列表搜索引擎并解析其结果页面。您还可以定义基于正则表达式的范围,该范围用于标识要测试的解析地址。
测试提供的GET参数,POST参数,HTTP Cookie头值,HTTP User-Agent头值和HTTP Referer头值,以识别和利用SQL注入漏洞。还可以指定要测试的特定参数的逗号分隔列表。
用于指定并发HTTP(S)请求(多线程)的最大数量的选项,以加快盲目SQL注入技术的速度。反之亦然,也可以指定每个HTTP(S)请求之间保持的秒数。还实施了其他优化开关以加快开发速度。
HTTP Cookie标头字符串支持,当Web应用程序需要基于Cookie的身份验证并且您拥有此类数据时,或者在您仅想测试并利用此类标头值进行SQL注入时,此功能非常有用。您还可以指定始终对Cookie进行URL编码。
自动处理来自应用程序的HTTP Set-Cookie标头,如果会话终止则重新建立会话。也支持对这些值进行测试和利用。反之亦然,您也可以强制忽略任何Set-Cookie标题。
HTTP协议支持基本,摘要,NTLM和证书身份验证。
HTTP(S)代理支持将请求传递到目标应用程序,该目标应用程序也可与HTTPS请求和经过身份验证的代理服务器一起使用。
伪造HTTP Referer标头值和用户指定或从文本文件中随机选择的HTTP User-Agent标头值的选项。
支持提高输出消息的详细级别:存在七个详细级别。
支持从目标URL 解析HTML表单,并针对这些页面伪造HTTP(S)请求,以针对漏洞测试表单参数。
在用户的开关和功能方面都具有粒度和灵活性。
实时更新每个查询的估计到达时间支持,以向用户提供检索查询输出将花费多长时间的概览。
在获取数据的同时,自动自动将会话(查询和它们的输出,即使部分检索出来)保存在文本文件中,并通过解析会话文件恢复注入。
支持从配置INI文件读取选项,而不是每次在命令行上指定所有开关时都支持。还支持根据提供的命令行开关生成配置文件。
支持在本地SQLite 3数据库上复制后端数据库表结构和条目。
从Subversion存储库中将sqlmap更新到最新开发版本的选项。
支持解析HTTP(S)响应并向用户显示任何DBMS错误消息。
与其他IT安全开源项目Metasploit和w3af集成。