SQL_BypassWaf.pdf
需积分: 0 42 浏览量
更新于2022-04-08
收藏 2.46MB PDF 举报
【SQL注入与WAF绕过】SQL注入是一种常见的网络安全攻击手法,通过在应用程序的输入字段中插入恶意SQL代码,以获取、修改、删除数据库中的数据。而WAF(Web Application Firewall)则是为了防止这种攻击而设立的一道防线,它通过监控和过滤HTTP请求,阻止含有恶意SQL代码的请求到达服务器。然而,WAF并非无懈可击,攻击者可以通过各种技巧绕过WAF的检测。
【SQL注入技巧】SQL注入攻击中,注释符是关键的绕过手段之一。MySQL、Oracle和MSSQL都有各自的注释符,如`/*`、`#`、`--`等,攻击者可以利用这些注释符隐藏恶意代码。此外,使用特殊的字符如`+`、`-`、`@`、`!`、`'`、`"`、`~`、`{`等,配合注释符和空白字符(如 `%0a`、`%0d`等),可以构造出混淆WAF的查询语句。
【WAF类型】WAF主要分为硬件类、软件类和基于云的WAF。硬件WAF如绿盟、天融信、安恒的产品;软件WAF包括安全狗、云锁、ModSecurity等;云WAF如阿里云、创宇盾等。软件类和云WAF因为易于部署和更新规则,是当前研究的重点。
【WAF绕过策略】绕过WAF主要依赖于对SQL语法的深入理解和创新应用。比如,使用等价替换,当WAF拦截常规的攻击语句时,可以用不常见的但功能相同的SQL命令替代。例如,用`case when`代替`if`,用`find_in_set()`或正则表达式代替比较运算符`<`, `>`。
【函数替换与等价功能】在SQL注入中,函数的使用至关重要。对于函数过滤的情况,可以查找官方文档,寻找所有API函数,使用如`xor user()`等模糊测试方法。例如,当`mid`、`substr`被过滤,可以尝试`replace`、`LPAD`、`REVERSE`等函数进行替换。
【特殊字符与注释符结合】结合注释符和特殊字符,如在`SELECT`、`UNION`、`FROM`等关键字前后添加特殊字符,可以混淆WAF的检测逻辑。例如,使用`--+`或`/**/`等组合,有时候能避开WAF的关键词过滤。
【战略与思考】绕过WAF不仅仅是技术层面的挑战,还需要策略性的思考。主要目标是绕过`SELECT col FROM table`这样的基础查询拦截,次要目标是绕过`UNION SELECT`。这需要对WAF的工作原理有深刻理解,同时灵活运用各种SQL语法技巧,以及对攻击和防御双方心理的把握。
SQL注入与WAF绕过是信息安全领域中的持续对抗,攻击者不断寻找新的方法来突破防御,而防守方则需要不断提升WAF的智能性和灵活性。了解和掌握这些技巧,对于安全研究人员和开发者来说,都是保护系统免受SQL注入攻击的关键步骤。
哈哥撩编程
- 粉丝: 11w+
- 资源: 77
最新资源
- 英语日常词汇分类.doc
- 英语动词单三变化规则与名词单数变复数口诀.doc
- 幼教、少儿创新教育课程《快乐记忆》系列课程市场运营方案报告.doc
- 在阳光中奔跑[800字]作文.doc
- 语文必修三理解性默写填空.doc
- 中考语文答题套路(人版).doc
- 中学课程设置方案.doc
- 家庭教育及亲子沟通公益讲座讲稿.doc
- 综合实践我国象棋教学案.doc
- 不安全化学品储罐区隐患排查表.doc
- 教师行为规范心得体会.doc
- 建设工程合同模板管理试题A卷与答案.doc
- 科教版八年级物理(上册)期末测试题及答案.doc
- 牛津高中英语模块一至模块十一短语.doc
- 鲁迅的儿童教育思想-王敏.doc
- H3C SecPath F1000F5000FW插卡vFW系列防火墙 命令参考(V7)(R8X60-R9X60-E8X60-E9X60-E1185)-6W614