云WAF之语义分析引擎

传统基于关键字的SQL注入和XSS攻击检测存在误杀和检测效果差的问题。云WAF采用语义分析引擎,通过词法和语法分析,结合威胁等级判断,有效识别高级攻击。文章分析了开源项目Libinjection的工作原理、流程和局限性,指出语义分析虽有优势,但仍可能存在误报和漏报。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传统基于关键字正则表达式的SQL注入攻击检测、XSS攻击检测方法容易误杀,且对于注释变形、字符串语法变形等高级攻击规避方法的检测效果差。

语义分析拦截引擎基于实际SQL语句、XSS语句词法、语法分析结合威胁等级综合判断攻击行为,解决了对于高级黑客变形手段的攻击检测、拦截问题。

一、开源项目分析

Libinjection 一个轻量级的开源C语言开发编写的sql注入攻击检测库。有速度快以及低误报,低漏报,速度快体现在该库全程比较耗性能的就二分查找算法,库本身没有内存申请,使用的内存大小十分稳定,单线程等诸多优点。

1、技术原理

Liblinjection通过对用户的输入进行词法分析,生成指纹,然后通过二分查找算法,在特征库中进行匹配,匹配到则报SQL注入漏洞。
其核心思想一为转换,Libinjection通过将输入预处理,将sqli攻击解析为sql原始查询串,将输入转换为一套自己能够识别的语言;二为预演,Libinjection预设SQL注入发生在3中情况内(直接注入sql语句、在单引号内注入sql、在双引号内注入sql)

2、Liblinjection运作流程

  1. 初始化变量state
  2. 通过libinjection_is_sqli()函数进行具体分析(在下面详细分析)
  3. 如果存在issqli,则将SQL注入识别特征复制进fingerprint变量并返回,如果不存在则将fingerprint变量设置为空并返回。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值