网页安全:网站预防SQL攻击的措施

时间 : 2021-05-18 16:03:12
编辑 : 华纳云
阅读量 : 688

专业攻击者与普通攻击者的不同在于专业攻击者更能理解关于SQL首注。在对于严谨禁用详细错误消息的防御,普通攻击者会直接跳过去选择下一个攻击对象。

 

对于攻击SQL盲注漏洞的可能性是存在的,可以借助很多的技术手段。可以准许攻击者用时间、响应和非主流通道获取数据。SQL查询方式发送一个返回TRUE或FALSE的容易问题并反复进行上千次,在数据库中很难发现SQL盲注漏洞是因为它们躲在了暗处。如果发现漏洞,就可以支持多种多样的数据库,大量的可用漏洞。要考虑清楚响应的时间和什么时间使用重量级的非主流通道工具。明确大部分SQL盲注漏洞的自动化程度,明白有大量攻击可以应用。有图形化界面、命令型等。有了SQL注入和盲注的基础认识后,就可以开始进一步利用漏洞。完成快速发现注入并且修复漏洞。

 

防SQL注入:

 

1.明确SQL盲注位置,明确的方法是:无效数据返回到的是通用错误页面,这时可通过包含副作用(如时间延迟)来确认SQL注入,或者是拆分与平衡参数。接下来需要思考漏洞的属性:能否强制产生错误以及能否控制无错误页面的内容?

 

2.可通过在SQL中提问某一位是1还是0来推断单个信息位,有很多推断技术可用于实现该目标。

 

3.使用基于时间的技术SLEEPO类型函数或运行时间很长的查询来引入延迟。

 

逐位方法或二分搜索方法提取数据并利用延迟装示数据的值,通常在SQLServer和Oracle上采用以时间作为推断的方法,不过这个方法对MySQL就不大可靠,机制很可能会失效,但可通过增加超时或其他技巧来进行改进。

 

4.使用基于响应的技术,可用逐位方法或二分搜索方法提取数据并利用响应内容表示数据的值。

 

通常情况中,现有查询中都包含一条插入子句,它根据推断的值来保持查询不变或返回空结果,基于响应的技术可用于多种的数据库。某些情况下,一个请求可返多个信息位。

 

5.使用非主流通道

 

带外通信的优点是:以块而非位的方式来提取数据,对速度而言存在明显改进。最常用的通道DNS。攻击者说服数据库进行一次名称查找,该查找行为中包含一个由攻击者控制的域名并在域名前添加了一些要提取的数据。在请求到达DNS名称服务器后,攻击者就能查看数据。其他通道还包括HTTP和SMTP。不同数据库支持不同的非主流通道,支持非主流通道的工具的数量明显要比支持推断技术的少。

 

6.自动利用SQL盲注

 

BSQLHacker是另一款图形化工具,它使用基于时间及响应的推断技术和标准错误来从所提问的数据库中提取数据。虽然它仍处于测试阶段,不是很稳定,但该工具前景很好且提供了很多欺诈机会。SQLBrute是一款命令行工具,它针对希望使用基于时间或响应的推断来利用某个固定漏洞的用户。Sqlmap将漏洞的发现和利用结合在一款强大的工具中,它既支持基于时间的推断方法,也支持基于响应的推断方法,另外还支持ICMP通道方法。该工具的成长速度很快,开发也很活跃。


客服咨询
7*24小时技术支持
Telegram
hncloudnoc

技术支持

渠道支持