智能化扫描场景分析—精细化扫描SQL注入漏洞

栏目: 编程工具 · 发布时间: 4年前

内容简介:SQL注入漏洞,是攻击者对数据库进行攻击的常用手段之一,其本质是攻击者输入的数据可以被当做代码来执行,进而获取到数据库的控制权限。由于危险等级和出现频次常常较高,SQL注入漏洞正无时无刻不受到企业安全人员的重视。先来看以下几组数据。OWASP在2013年和2017年先后发布了两个版本的《Top 10 Web应用程序安全风险报告》,随着Web应用架构和技术的不断发展,应用程序的基础技术和结构发生了重大变化,安全风险也不断更迭,新的安全风险涌现,逐渐取代旧的。值得注意的是,

SQL注入漏洞,是攻击者对数据库进行攻击的常用手段之一,其本质是攻击者输入的数据可以被当做代码来执行,进而获取到数据库的控制权限。由于危险等级和出现频次常常较高,SQL注入漏洞正无时无刻不受到企业安全人员的重视。

先来看以下几组数据。

OWASP在2013年和2017年先后发布了两个版本的《Top 10 Web应用程序安全风险报告》,随着Web应用架构和技术的不断发展,应用程序的基础技术和结构发生了重大变化,安全风险也不断更迭,新的安全风险涌现,逐渐取代旧的。值得注意的是, 注入漏洞始终蝉联TOP 1的安全风险事件

智能化扫描场景分析—精细化扫描 <a href='https://www.codercto.com/topics/18630.html'>SQL</a> 注入漏洞

2019年第一季度,长亭科技监测并发布了季度漏洞观察报告,报告显示,全球范围内约发生12.43亿次Web攻击,日均1.38千万次。 在进行Web攻击时,SQL注入依然是最常被采用的手段 ,且该攻击手法的使用频率是排名第二的跨站脚本攻击的 数十倍

智能化扫描场景分析—精细化扫描SQL注入漏洞

图 高频攻击方法分布

依据行业通用评级标准,细分高危、中危与低危漏洞, SQL注入漏洞占比也显著多于大部分漏洞类型。

智能化扫描场景分析—精细化扫描SQL注入漏洞

图 高危Web漏洞类型分布

由于SQL注入的本质一样,所以它的攻击流程也是大同小异,一般的攻击流程是这样的:

  • 寻找Web系统参数
  • 判断参数是否会对数据库查询造成影响,从而定位注入点
  • 判断注入点在SQL语法中的位置
  • 补全SQL语句,构造Payload
  • 尝试读取数据库中的数据、尝试执行系统命令、尝试读写文件
  • 根据现有漏洞提权,进行下一步攻击

对于攻击者而言,使用SQLMAP之类的 工具 就可以快速定位SQL注入漏洞,并进行利用,或者使用SQLMAP API进行自动化发现和利用。

而企业安全建设者或白帽子在进行SQL注入漏洞检测时,却不能简单粗暴的参照攻击流程进行检测。 企业在实际漏洞检测过程中不得不考虑以下几个因素

  • 企业资产安全性问题 。由于SQL注入漏洞检测是直接操作数据库和服务器,操作不当无疑会对企业资产产生不安全风险。比如当某个更新或者删除接口存在SQL注入漏洞时,全站数据很可能会因为传入一个1 or 1=1的Payload而丢失;
  • 绕 WAF检测问题 。企业通常会配备WAF来防御SQL注入攻击,对于漏洞扫描器来说,如果不能做到模拟攻击者行为绕过WAF防御,在扫描过程中就会被拦截,也就不能检测到企业资产中可能存在的SQL注入漏洞;
  • 企业场景下SQL 注入检测速度慢、准确率低的问题 。判定SQL注入漏洞的规则很多,若想保证检测准确率,必须进行足够精细化规则的判断,与此同时,规则精细化必然会影响整体的扫描速度,延长一个SQL注入漏洞的检测时间。如何快速发现从资产中精准发现SQL注入漏洞成了一个难题。

针对以上问题, 洞鉴(X-Ray)安全评估系统在对企业资产进行SQL注入漏洞的检测时,从Payload验证、WAF绕过、SQL注入智能识别等方面 ,结合多年攻防的经验,针对性的做了以下处理:

使用无害Payload  验证保证企业资产安全性

上文提到过,SQL注入漏洞检测过程中,如果使用不当的Payload很有可能会造成内存爆炸、删库等风险操作。

比如针对Payload“where id=1 or 1=1”,1)执行select操作时,可能会引起内存爆炸;2)执行update/delete操作时,则会导致整个数据库被更改或者被删除。

洞鉴(X-Ray)在进行检测时会大量使用报错注入的Payload,确保 Payload 能进入SQL查询,但是又不会直接影响数据库内容;在报错注入无效的情况下使用基于时间的盲注,通过侧信道的方式判断 Payload对于请求的影响,坚决不使用会导致全局条件恒真的布尔条件,可以从根本上解决Payload对业务造成的副作用问题。

智能识别绕过一般的WAF  拦截规则提高资产检测的全面性

1、洞鉴(X-Ray)的SQL注入以检测为主,而非进行拖库操作,所以针对一些防御边界的场景,可以弱化攻击特征,从而降低被 WAF拦截的几率;

2、如果在扫描过程中检测到被WAF拦截了,会自动对 Payload 进行变换,尝试去绕过WAF。比如将1 and 1=1替换为 1/**/and/**/1=1等等。

采用多种智能识别算法  提高SQL注入识别的速度和精准度

1、优先使用自启发式扫描,在存在SQL漏洞的情况下可以确保使用最少的请求完成检测,准确率达到 99% 以上;

2、对于时间盲注,加入了魔力超时算法,并进行交叉验证,解决了服务器响应时间抖动产生的误报;

3、对于布尔盲注,加入了高精度字符串、DOM 、JSON相似度对比算法,可自动识别拟态,解决了服务器响应页面随机抖动产生的误报;

4、采用通用Payload,在不需要对数据库进行识别的场景下,自动忽略数据库差异化,直接进行SQL注入漏洞的检测验证。避免了对不同数据库反复进行Payload验证的环节,从而节省扫描时间;

5、根据页面返回的动态数据特征,智能排除干扰因素,然后再进行页面对比。根据HTML、JSON等页面返回的内容,查询全部动态数据,智能排除一些动态的干扰数据,再对不同类型数据进行对比,来判断是否存在SQL注入;

6、基于参数的智能语义分析算法,实现模拟攻击者进行精细化SQL注入探测的目的。从参数位置、参数类型和response报错信息等多个维度,对语义进行智能化分析、对识别规则进行自动化替换。

  • 从参数存在的位置和参数类型上,进行智能化分析和替换

对于json类型的参数,{“id”: 1’ or‘1’=’1} 错误的;

再比如: “?page=1&sort=date ”,其中sort参数虽然看起来是字符串,但是可能不适用于布尔注入,因为sql可能是order by$sort;

  • 针对response报错信息,智能识别替换注入Payload。在检测到数据的validation存在时,将会对报错信息进行智能的语义识别,然后根据识别的信息变换注入的Payload,尝试去绕过validation。

比如:1)填写一个参数(“a’ or ‘a’=’1”),进行提交2)返回报错信息:“data : this field must be an integer”3)自动替换输入的参数(“1+2-1”),再次进行验证,因为后端的验证可能是有bug的,比如写了个正则表达式\d+等。

SQL注入的漏洞详情部分截图如下所示:

智能化扫描场景分析—精细化扫描SQL注入漏洞

随着 B/S(浏览器/服务器) 模式的发展和普及,企业应用结构不断优化,逐渐呈现出方便、易扩展、易开发维护和共享性强的特点。然而,与此同时,由于研发人员的水平参差不齐,在Web应用编写时,有很大几率无法全面考虑对用户输入的数据进行合法判断的情况,从而无可避免的为企业资产管理埋下安全隐患。

长亭洞鉴(X-Ray)在对SQL注入漏洞进行检测时, 加入了无害的Payload验证、绕 WAF识别机制以及智能的语义分析算法,结合企业业务场景,对企业资产进行全面、精细化的安全性检查,为客户解除企业资产是否存在SQL注入漏洞的后顾之忧 ,帮助企业全面提高资产管理的效果和效率,从而为提升企业市场竞争能力、提升企业经济效益提供了有力支撑。


以上所述就是小编给大家介绍的《智能化扫描场景分析—精细化扫描SQL注入漏洞》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Computers and Intractability

Computers and Intractability

M R Garey、D S Johnson / W. H. Freeman / 1979-4-26 / GBP 53.99

This book's introduction features a humorous story of a man with a line of people behind him, who explains to his boss, "I can't find an efficient algorithm, but neither can all these famous people." ......一起来看看 《Computers and Intractability》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具