网站被SQL注入攻击盲注如何解决

简介: 能否理解并利用SQL首注是区分一般攻击者和专业攻击者的一个标准。面对严密禁用详细错误消息的防御,大多数新手会转向下一目标。但攻破SQL盲注漏洞并非绝无可能,我们可借助很多技术。它们允许攻击者利用时间、响应和非主流通道(比如DNS)来提取数据。以SQL查询方式提问一个返回TRUE或FALSE的简单问题并重复进行上千次,数据库王国的大门便通常不容易发现SQL盲注漏洞的原因是它们隐藏在暗处。一旦发现漏洞后,我们就会有们能支持多种多样的数据库。大量的漏洞可用。要明确什么时候应选择基于响应而非时间的利用和什么时候使用重量级的非主流通道工具,这些细节可节省不少时间。

能否理解并利用SQL首注是区分一般攻击者和专业攻击者的一个标准。面对严密禁用详细错误消息的防御,大多数新手会转向下一目标。但攻破SQL盲注漏洞并非绝无可能,我们可借助很多技术。它们允许攻击者利用时间、响应和非主流通道(比如DNS)来提取数据。以SQL查询方式提问一个返回TRUE或FALSE的简单问题并重复进行上千次,数据库王国的大门便通常不容易发现SQL盲注漏洞的原因是它们隐藏在暗处。一旦发现漏洞后,我们就会有们能支持多种多样的数据库。大量的漏洞可用。要明确什么时候应选择基于响应而非时间的利用和什么时候使用重量级的非主流通道工具,这些细节可节省不少时间。考虑清楚大多数SQL盲注漏洞的自动化程度后,不管是新手还是专家,都会有大量的工具可用。它们中有些是图形化界面,有些是命令行,它有了SQL注入和SQL盲注的基础知识之后,现在转向进一步利用漏洞:识别并利用一个不错的注入点之后,如何快速发现注入并修复漏洞。


00e93901213fb80ea51eb8eff72adc29b838943b.jpeg


快速解决防SQL注入方案


1.寻找并确认SQL盲注


.无效数据将返回通用错误页面而非详细错误,这时可通过包含副作用(比如时间延迟)来确认SQL注入,还可以拆分与平衡参数。如果数字字段为5,就提交3+2或6-1;如果字符串参数中包含“MadBod”,就提交'Mad'l'Bod'。现该目标。.请思考漏洞的属性:能否强制产生错误以及能否控制无错误页面的内容?·可通过在SQL中提问某一位是1还是0来推断单个信息位,有很多推断技术可用于实现该目标2.使用基于时间的技术SLEEPO类型函数或运行时间很长的查询来引入延迟。.可使用逐位方法或二分搜索方法提取数据并利用延迟装示数据的值,可使用明确的,通常在SQLServer和Oracle上采用以时间作为推断的方法,不过这在MySQL上不大可靠,该机制很可能会失效。.使用时间作为推断方法在本质上是不可靠的,但却可以通过增加超时或借助其他技巧来进行改进。


f703738da9773912ef86ee3ab792791f377ae258.jpeg


3.使用基于响应的技术


·可使用逐位方法或二分搜索方法提取数据并利用响应内容表示数据的值。一般来说,现有查询中都包含一条插入子句,它能够根据推断的值来保持查询不变或返回空结果,基于响应的技术可成功用于多种多样的数据库。某些情况下,一个请求可返回多个信息位。4.使用非主流通道,带外通信的优点是:可以以块而非位的方式来提取数据,并且在速度上有明显改进。最常用的通道是DNS.攻击者说服数据库执行一次名称查找,该查找包含一个由攻击者控制的域名并在域名前添加了一些要提取的数据。当请求到达DNS名称服务器后,攻击者就可以查看数据。其他通道还包括HTTP和SMTP。不同数据库支持不同的非主流通道,支持非主流通道的工具的数量明显要比支持推断技术的少。


5.自动利用SQL盲注


Absinthe的威力在于支持数据库映射,并且能利用基于错误和响应的推断利用来对很多流行的数据库(不管是商业的还是开源的)进行检索。方便的GUI为攻击者带来了很好的体验,但缺少特征签名支持限制了其效能。BSQLHacker是另一款图形化工具,它使用基于时间及响应的推断技术和标准错误来从所提问的数据库中提取数据。虽然它仍处于测试阶段,不是很稳定,但该工具前景很好且提供了很多欺诈机会。SQLBrute是一款命令行工具,它针对希望使用基于时间或响应的推断来利用某个固定漏洞的用户。Sqlmap将漏洞的发现和利用结合在一款强大的工具中,它既支持基于时间的推断方法,也支持基于响应的推断方法,另外还支持ICMP通道方法。该工具的成长速度很快,开发也很活跃。如果想要对网站进行全面的SQL注入防护和检测的话可以像国内的网站安全公司寻求服务,国内像SINESAFE,鹰盾安全,绿盟,启明星辰,等等。


e7cd7b899e510fb33e7825d196b83792d0430ca1.jpeg


Sqlninja有很多特性,它支持使用基于DNS的非主流通道来执行远程命令。首先上传一个自定义的二进制封装器(wrapper),然后通过上传的封装器来执行命令。封装器捕获所有来自命令的输出并初始化一个DNS请求序列,请求中包含了编码后的输出。

相关文章
|
1月前
|
SQL 监控 安全
SQL注入的实现原理以及防止
SQL注入的实现原理以及防止
|
1月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
37 0
|
2月前
|
SQL 存储 关系型数据库
原本可以执行得很快的 SQL 语句,执行速度却比预期的慢很多,原因是什么?如何解决?
原本可以执行得很快的 SQL 语句,执行速度却比预期的慢很多,原因是什么?如何解决?
|
1月前
|
SQL 安全 测试技术
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
15 0
|
1月前
|
SQL 资源调度 Oracle
Flink CDC产品常见问题之sql运行中查看日志任务失败如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
1月前
|
SQL 分布式计算 DataWorks
dataworks常见问题之通过sql查询查看任务依赖关系如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
28 1
|
1月前
|
SQL JSON 运维
dataworks常见问题之selectdb前置sql参数无法获取如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
28 0
|
1月前
|
SQL 安全 API
|
2月前
|
SQL 消息中间件 Kafka
Flink报错问题之SQL作业中调用UDTF报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
2月前
|
SQL 消息中间件 资源调度
Flink报错问题之flink 1.11 sql作业提交JM报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。