技术-sqlmap支持的SQLi技术-sqlmap用户手册-测试-IT技术博客

sqlmap能够检测和利用五种不同的SQL注入类型:

  • 基于布尔的盲注:sqlmap替换或附加到HTTP请求中受影响的参数,包含SELECT子语句的语法有效的SQL语句字符串,或用户想要检索其输出的任何其他SQL语句。 对于每个HTTP响应,通过在HTTP响应标头/正文与原始请求之间进行比较,该工具逐个字符地推断注入的语句的输出。 或者,用户可以提供字符串或正则表达式以匹配True页面。 在sqlmap中实现的用于执行此技术的二等分算法可以获取最多七个HTTP请求的输出每个字符。 如果输出不在明文纯字符集内,则sqlmap将采用更大范围的算法来检测输出。

  • 基于时间的盲点:sqlmap替换或附加到HTTP请求中的受影响参数,该语法有效的SQL语句字符串包含查询,该查询保留后端DBMS以返回一定的秒数。 对于每个HTTP响应,通过在HTTP响应时间和原始请求之间进行比较,该工具将逐字符推断注入的语句的输出。 像基于布尔的技术一样,应用二等分算法。

  • 基于错误:sqlmap将特定于数据库的错误消息引发语句替换或附加到受影响的参数,并解析HTTP响应标头和正文,以查找包含已注入的预定义字符链和其中的子查询语句输出的DBMS错误消息。 仅当Web应用程序已配置为公开后端数据库管理系统错误消息时,此技术才有效。

  • 基于UNION查询:sqlmap将一个语法有效的SQL语句附加到受影响的参数,该语句以UNION ALL SELECT开头。当Web应用程序页面在for循环或类似循环中直接传递SELECT语句的输出时,此技术有效,以便查询输出的每一行都打印在页面内容上。 sqlmap还能够利用部分(单项)UNION查询SQL注入漏洞,该漏洞在语句的输出未在for构造中循环时出现,而仅显示查询输出的第一项。

  • 堆叠式查询,也称为“小猪支持(piggy backing)”:sqlmap测试Web应用程序是否支持堆叠式查询,然后在支持的情况下将HTTP请求后的分号(;)附加到受影响的参数。被执行。此技术对于运行SELECT以外的SQL语句很有用,例如数据定义或数据操作语句,这可能导致文件系统的读写访问和操作系统命令的执行,具体取决于底层的后端数据库管理系统和会话。用户权限。

标签: sqlmap教程sqlmapSQLisqlmap手册