SQLmap技术技巧

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应用程序页面SELECT在for循环或类似情况下直接传递语句的输出时,此技术有效,以便查询输出的每一行都打印在页面内容上。sqlmap还能够利用部分(单个条目)UNION查询SQL注入漏洞,该漏洞在语句的输出未在for构造中循环时出现,而仅显示查询输出的第一个条目。
堆叠式查询,也称为“ 小猪支持”:
sqlmap测试Web应用程序是否支持堆叠式查询,然后在支持的情况下将HTTP请求后的分号(;)附加到受影响的参数上,后跟SQL语句以被执行。此技术对于运行除SELECT(例如)数据定义或数据操作语句以外的SQL语句很有用,这可能会导致文件系统读写访问和操作系统命令的执行,具体取决于底层的后端数据库管理系统和会话用户特权。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值