服务器过滤and和or怎么绕过,SQL注入绕过方法有哪些?

服务器过滤 and 和 or,先分清是防护规则在拦你,还是业务代码被规则误伤:前者走白名单和规则调优,后者用参数化查询和字段改写,别硬碰正则。这两种情况的处理路径完全不同,搞反了只会越改越乱。

服务器为什么会过滤 and 和 or

服务器不是闲着没事干,and 和 or 是 SQL 语句里的逻辑运算符,也是注入攻击里出现频率最高的两个词,WAF、Nginx 的 ModSecurity 模块、云厂商的 Web 应用防火墙,默认规则库里几乎都有一条针对这两个单词的匹配。

2-16绕过过滤and和or的SQL注入
加载中
2-16绕过过滤and和or的SQL注入
网
网络安全自修室
142--
原视频地址

规则到底长什么样

业内常见的写法是把请求参数、URL、Cookie 全量丢进正则里扫,命中 \b(and|or)\b 这类模式就拦,简单粗暴,见效快,副作用也明显。

# ModSecurity 里一条简化后的规则示意
SecRule ARGS "@rx (?i)\b(and|or)\b" \
  "id:1001,phase:2,deny,status:403,msg:'logic operator blocked'"

这条规则会把 ?keyword=brand 放过去,但把 ?name=order 拦下来因为没加词边界,order 里的 or 被命中,这就是典型的误伤。

过滤带来的是安全还是麻烦

安全侧确实挡住了大量低质量扫描流量,行业共识认为,这类基础规则能过滤掉相当一部分自动化攻击请求,代价是业务侧偶尔收到 403,开发排查半天以为是代码问题。

服务器过滤and和or还能正常查数据吗

能,但前提是把“过滤”和“查询”解耦,过滤是入口的事,查询是数据库的事,两者不该互相干扰,现实里出问题的,多半是把用户输入直接拼进 SQL 的老代码。

三类最容易被误拦的业务场景

  • 字段名或参数名本身含 or:order_id、origin、author、sort_order,参数名一出现就触发规则。
  • 搜索关键词含逻辑词:用户搜“and 和 or 的区别”,关键词原样传给后端,直接 403。
  • 富文本或 JSON 提交:文章正文里写了英文 and,整段请求被判定为攻击。

参数化查询是根治办法

不要拼字符串,改用预编译,以 Java 为例:

String sql = "SELECT id, name FROM orders WHERE order_id = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, orderId);
ResultSet rs = ps.executeQuery();

参数走占位符之后,and 和 or 只是普通字符,不会改变 SQL 结构,防守方也就不需要靠关键词黑名单来兜底。

Python 侧同理,用 cursor.execute(sql, (order_id,)) 而不是 f-string 拼接,PHP 用 PDO 的 bindParam。

白名单比改规则更稳

业务确定要传含 or 的参数名,就在 WAF 里加精准白名单:限定路径、限定参数名、限定方法,别直接关掉整条规则。

  • 简米云 WAF:控制台 → 防护配置 → 白名单规则 → 匹配条件选“URL 包含 /api/order” + “参数名等于 order_id”
  • ModSecurity:用 SecRuleUpdateTargetById 把特定参数排除出检测范围

WAF过滤and和or和大小写混写哪种有效

这是配置规则时最常见的纠结点,结论先给:加词边界 + 大小写不敏感,比单纯大小写混写更有效,但两者的误报表现差很远。

四种写法实测对比

规则写法 能否拦住 And/AND 是否误伤 order 维护成本
and|or(小写精确) 拦不住 不误伤 低,但漏
(?i)and|or(忽略大小写) 能拦 误伤 order、origin 低
(?i)\b(and|or)\b 能拦 不误伤 order 中,需理解词边界
(?i)\b(and|or)\s+\S+\s= 能拦典型注入 极少误伤 高,规则要持续调

\b 是单词边界,能保证 order 里的 or 不被单独切出来,实际部署时,第四种写法针对“and 1=1”“or ‘a’=’a’”这类结构更准,但需要配合日志持续观察。

严格与好用的平衡点

规则越严,误报越多,运维工单就越多,多数团队的做法是:基础规则保持中等强度,把高频业务路径单独加白,再靠日志回溯补规则,这比一次性把规则拉到最严更可持续。

简米云服务器过滤and和or如何排查

云上环境排查路径相对固定,按下面顺序走,多数问题能在十分钟内定位。

第一步:确认拦截发生在哪一层

用 curl 逐层验证,别一上来就翻代码。

# 直接打源站,绕过 WAF
curl -v "http://内网IP/api/search?q=and"
# 走域名,经过 WAF
curl -v "https://你的域名/api/search?q=and"

源站通、域名 403,问题在 WAF;两边都 403,问题在应用或 Nginx 本地规则。

第二步:看拦截日志

简米云 WAF 控制台 → 安全报表 → Web 攻击日志,按时间倒序找对应请求,能看到命中的规则 ID 和匹配字段,Nginx 本地规则则看 error.log,搜 ModSecurity 关键字。

第三步:区分攻击与误报

日志里看匹配位置,命中 URL 参数且参数值确实是 and 1=1 这种结构,是真攻击;命中参数名 order_id,就是误报,误报走白名单,攻击走封禁。

第四步:改完必须回归

白名单加完,用原请求复测一次,再跑一遍正常业务接口,确认没有放开过头。

服务器WAF过滤规则配置多少钱

预算问题绕不开,得分自建和云服务两条线看。

云 WAF 的成本区间

多数厂商按域名数和 QPS 档位计费,基础版年费通常在数千元级别,企业版按需上探到数万元,近年来不少厂商把基础防护打包进云服务器套餐,等于变相降价,具体价格随促销波动大,下单前建议直接看官网报价页的实时配置器。

自建方案的成本在哪

ModSecurity + OWASP CRS 本身免费,成本全在人力,规则调优、日志分析、误报处理,一个熟手每周投入几个小时是常态,规则库升级还要跟版本,长期看并不比买服务便宜。

怎么选

  • 业务量小、没人专职做安全:买云 WAF,省心。
  • 有安全团队、规则要深度定制:自建更灵活。
  • 混合场景:云 WAF 兜底,关键接口自建精细规则。

授权测试场景下该怎么处理

做渗透测试或安全评估时,遇到服务器过滤 and 和 or,正确做法不是找绕过技巧,而是在授权范围内记录拦截行为,作为防护有效性的证据写进报告。

具体做法:用 Burp Suite 的 Repeater 逐条构造请求,记录哪些 payload 被拦、命中什么规则、响应码和拦截页特征,这些信息对甲方调优规则的价值,比“绕过去了”大得多。

业内专家指出,评估 WAF 有效性时,误报率和漏报率要一起看,只盯拦截率会误导决策。

关于服务器过滤and和or的常见问题

服务器过滤and和or后,正常搜索英文单词也被拦怎么办

先确认拦截层级,走前面说的 curl 两步法,确认是 WAF 后,在规则里把该接口的搜索参数加入白名单,或把规则从 (?i)and|or 升级为带词边界的 (?i)\b(and|or)\b,改完用含 order、origin 的参数名复测。

服务器过滤and和or对 SQL 注入防护够用吗

不够,关键词黑名单只是最外层,攻击者可以用注释、编码、等价运算符等多种方式表达同样逻辑,真正的防线是参数化查询、最小权限数据库账号、输入类型校验三层叠加,WAF 只做流量侧的兜底。

服务器过滤and和or的规则需要定期更新吗

需要,规则库跟着攻击手法走,长期不更新会漏掉新型 payload;更新太频繁又容易引入新误报,实践中建议每月检查一次规则版本,每次更新后跑一轮业务回归测试,把误报工单和规则变更记录在同一张表里对照,三个月就能摸清自家业务的稳定配置区间。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/782754.html

赞 (0)
上一篇 2026年11月5日 02:09
下一篇 2026年11月5日 02:10

相关推荐

  • 广州轻量应用服务器安装镜像,轻量应用服务器怎么安装镜像

    在广州轻量应用服务器上安装镜像,核心在于根据业务架构选择系统或应用镜像,通过控制台一键重装或自定义镜像导入,配合VPC网络与安全组策略,实现分钟级环境部署与业务上线,镜像选型:系统镜像与应用镜像的博弈两种镜像的本质差异选对镜像,是轻量服务器高效运行的前提,系统镜像仅包含纯净操作系统,应用镜像则预装了运行环境与软……

    2026年4月27日
    4600
  • 怎么查看卡有没有开通4G服务,是什么原因?

    判断手机卡是否开通4G服务,最直接的办法是插卡开机看状态栏:显示“4G”或“LTE”图标就说明已开通,如果只有“3G”“E”“H+”或直接无服务,多半是卡或套餐的问题,很多人把“4G网络”叫成“4g服务器”,其实我们平时说的开通4G,指的是SIM卡的4G上网功能和4G套餐权限两件事,这篇文章从实际使用角度出发……

    2026年9月9日
    200
  • 如何用AJAX从后台获取数据并显示在HTML前端?ajax异步请求数据教程

    通过Ajax技术,前端页面可以在不刷新整个网页的情况下,异步向后台服务器请求数据并动态更新DOM元素,从而实现流畅的用户体验,为什么选择Ajax实现前后端数据交互在传统的Web开发模式中,用户每次点击链接或提交表单,浏览器都会重新加载整个页面,这种机制不仅浪费带宽,还导致严重的等待感,随着互联网应用对实时性要求……

    程序编程 2026年6月1日
    5400
  • 美国DediPathVPS测评,10美元/年方案实测对比,DediPath VPS怎么样,DediPath VPS测评

    美国 DediPath VPS 10 美元/年方案实测结论:该方案仅适合极低负载的静态测试或学习环境,其年付模式虽极具价格优势,但受限于单核低频 CPU 与共享带宽,无法承载 2026 年主流高并发业务,属于典型的“低价入门型”产品,在 2026 年云计算市场,随着边缘计算与 AI 推理成本的普及,传统 VPS……

    2026年5月10日
    5900
  • AIoT路由器怎么样?AIoT路由器值得买吗?

    AIoT路由器作为智能家居生态的核心枢纽,其综合性能远超传统路由器,是构建高效、稳定、安全智能家居环境的首选设备,它不仅解决了多设备连接的稳定性痛点,更通过AI赋能实现了网络的自适应优化,对于追求高品质智能生活的用户而言,AIoT路由器怎么样这个问题的答案无疑是肯定的,它代表了家庭网络基础设施的升级方向,核心优……

    2026年3月21日
    11700
  • win10局域网打印机怎么连接到服务器,无法连接怎么办?

    在Windows 10中将局域网打印机连接到服务器,核心是通过添加打印机向导选择“网络打印机”或“共享打印机”,并输入服务器的IP地址或共享名称, 无论你是在公司内网还是家庭组,遵循正确的步骤都能让打印机正常服役,下面直接进入实操环节,从环境准备到故障排查,一步步说清楚,win10局域网打印机连接服务器的准备工……

    2026年7月25日
    2900
  • 服务器c盘怎么扩充?服务器c盘扩容方法及步骤

    服务器C盘扩充是保障系统稳定运行、提升业务连续性的关键操作,必须基于风险预判、科学规划与标准化流程执行,C盘空间不足将直接导致系统响应迟滞、服务中断、日志丢失甚至蓝屏崩溃,尤其在Windows Server环境中,IIS、SQL Server、Exchange等核心组件高度依赖C盘临时文件与缓存目录,以下从风险……

    2026年4月15日
    6200
  • AI互动课开发套件活动怎么参与?AI互动课开发套件免费吗?

    AI互动课开发套件正在重塑教育内容生产范式,通过深度集成大模型能力与低代码交互逻辑,将课程开发周期缩短80%以上,同时实现千人千面的个性化教学体验,成为教育机构与企业培训数字化转型的核心引擎,这一技术工具不仅解决了传统录播课枯燥乏味、直播课成本高昂的矛盾,更通过智能陪练与实时反馈机制,显著提升了学习者的知识留存……

    2026年2月17日
    22400
  • 如何构筑云原生安全技术底座?云原生安全有哪些核心挑战

    构筑云原生安全技术底座的本质,是将安全能力左移至开发阶段,并通过自动化策略实现“代码即基础设施,策略即代码”的持续合规与防护,过去我们习惯在应用上线前做一次“体检”,现在这种模式已经失效,云原生环境变化太快,静态扫描根本追不上部署节奏,真正的安全底座,不是外挂的防火墙,而是长在容器、Kubernetes和微服务……

    2026年5月26日
    3600
  • 服务器CPU性能如何查看与设置?服务器CPU性能检测与优化设置方法

    服务器CPU性能监控与调优实操指南核心结论:要精准掌握服务器CPU性能并完成合理设置,必须分三步走——实时监测、深度诊断、动态调优,忽视任一环节,都将导致资源浪费或系统瓶颈,以下为可立即落地的专业方案,实时监测:掌握CPU性能现状关键指标: 用户态占比(%us)、系统态占比(%sy)、空闲率(%id)、I/O等……

    程序编程 2026年4月18日
    6400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注