雷池检测模块-SQL注入揭秘

admin 2024年5月19日00:47:03评论46 views字数 1650阅读5分30秒阅读模式

雷池简介

雷池是全球首款基于智能语义分析引擎的下一代Web应用防火墙,用算法的迭代改变规则防护的现状,使检测的准确率和误报率产生质的飞跃,并且对WEB攻击防护难题(未知威胁、0day)有天然的防护能力。2015年提出语义分析技术并实践落地,受邀美国Black Hat大会展示SQL Chop,2016年,雷池(SafeLine)基于语义分析引擎发布后至今,已连续6年实现100%业绩增长。

目前雷池WAF已免费开放社区版,对雷池引擎感兴趣的师傅可至github:https://github.com/chaitin/safeline 下载体验,顺便点个免费的star~

SQL注入模块简介

与传统的规则引擎不同的是,雷池使用智能语义分析判断SQL注入攻击。语义分析不受规则限制,只通过判断PAYLOAD是否符合SQL语法,从而大大降低规则引擎的漏报率和误报率,提高0day的识别率。同时语义分析维护成本低,没有繁琐的规则语句。

SQL注入检测原理

当攻击者在尝试进行SQL注入攻击时,会通过构造片段或完整SQL语句注入到正常的Request请求中,最终向受害数据库执行SQL语句,达到攻击效果。

雷池作为WAF产品,对请求参数进行特征识别,对符合SQL特征的语句进行分词,片段语法分析,从而给出判断结果。

检测流程

SQL注入检测主要由词法、语法、特征指纹、函数结构、语法结构五个部分组成,对于输入的Payload会经过以下步骤进行检测:

  1. 1. 对Payload进行分词,得Token序列。

  2. 2. 对Token序列进行片段语法分析,得到符合SQL语法的Token序列,不符合SQL语法停止检测。

  3. 3. 根据Token序列识别常见SQL注入的特征指纹,进行打分。

  4. 4. 识别Token序列中函数结构,进行打分。

  5. 5. 根据SQL语法,识别Token序列的语法结构,进行打分。

  6. 6. 综合各个阶段打分的结果,综合计算此Payload的检测得分,超过阈值则产生对应级别的告警。

举例说明

Payload: ' UNION SELECT 1 AS 'x' FROM flag#

检测引擎每个阶段执行情况:

  1. 1. 分词: 得到Token序列:string union select number as string from bareword comment

  2. 2. 语法: 识别Token序列是符合SQL语法的片段代码

  3. 3. 特征分析: 识别其中有闭合之前SQL 恶意SQL 闭合之后的SQL特征指纹

  4. 4. 函数结构: 未有函数结构

  5. 5. 语法结构: 识别其中有联合查询语法结构

  6. 6. 综合打分: 将上述过程中每个阶段的分数综合计算,分数超过高风险,产生高风险告警

常见问题

  1. 1. 为什么我正常业务里传的SQL会被拦截?

    • • 雷池难以区分请求里的SQL语句是正常业务需要的还是攻击者的攻击语句。理论来说,能有接口让攻击者能直接执行SQL语句危害很大。

  2. 2. SQL注入模块的打分机制与预想的告警等级有偏差?

    • • 雷池SQL注入打分模块是根据词法、语法、威胁模型三个部分组成,打分机制经过多年的实战考验,已经趋于完善,但难免会有不足,我们会根据客户反应情况逐步改善。

  3. 3. 为什么某些PAYLOAD看起来SQL特征非常明显,但是雷池并没有告警?

    • • 因为雷池使用的语义分析引擎,与传统的规则引擎不同。雷池经过语义分析,发现它不符合SQL词法语法,在已知的数据库中是无法成功执行的,所以雷池不会产生告警。 例如 select vids from band's last show: http://bit.ly/6SHYLw http://bit.ly/8AZxfV http://bit.ly/5z4BQf

发现绕过

欢迎师傅们来 https://stack.chaitin.com/security-challenge/safeline/index 提交绕过,如若有效,可获得精美奖励!

结束语

欢迎感兴趣的师傅进群讨论~

注:如果二维码过期,可在公众号回复“加群”获取最新进群二维码

雷池检测模块-SQL注入揭秘

原文始发于微信公众号(Skynet 安全团队):雷池检测模块-SQL注入揭秘

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月19日00:47:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   雷池检测模块-SQL注入揭秘https://cn-sec.com/archives/2040079.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息