WAF绕过实战:编码混淆、分块传输与HTTP参数污染技术详解
1. 项目概述当WAF成为渗透测试的“守门员”在当前的网络安全攻防演练中Web应用防火墙WAF已经成为了一个绕不开的“守门员”。无论是商业产品还是开源方案WAF都部署在应用前端像一个尽职的安检员试图过滤掉所有恶意的HTTP/HTTPS请求。对于从事渗透测试和安全研究的朋友来说直接发送一个union select或者scriptalert(1)/script大概率会被WAF无情地拦截并记录。这促使我们必须去研究WAF的“安检规则”并找到那些能够“瞒天过海”的绕过手法。今天要聊的就是三种在实战中非常有效且经典的WAF绕过技术编码混淆、分块传输编码Chunked Transfer Encoding以及HTTP参数污染HPP。这些技术不是凭空想象的理论而是我在多次红蓝对抗和授权测试中面对不同厂商、不同配置的WAF时反复验证和提炼出的实战经验。它们的目标很明确在不改变攻击载荷核心逻辑的前提下通过改变请求的“形态”让WAF的规则引擎产生误判或无法识别从而让我们的恶意请求顺利抵达后端应用服务器触发真正的漏洞。理解这些技术不仅能提升你在渗透测试中的突破能力更能让你从防御者的角度去思考WAF的局限性从而在设计应用或部署安全策略时构建更立体的防御体系。无论是安全工程师、渗透测试人员还是对Web安全感兴趣的研究者掌握这些绕过手法的原理和实现都至关重要。接下来我将逐一拆解这三种技术从原理、到工具、再到实战中的变种和注意事项希望能为你提供一份可以直接“抄作业”的参考指南。2. 核心思路理解WAF的检测逻辑与我们的对抗策略在开始具体的技术细节之前我们必须先建立一个核心认知我们绕过的不是漏洞本身而是WAF的检测规则。WAF通常工作在应用层OSI第七层它通过一系列预定义的或自学习的规则正则表达式、语义分析、机器学习模型等来解析和检查HTTP/HTTPS流量。我们的对抗策略本质上就是制造规则与后端应用解析之间的“差异”。2.1 WAF的常规检测模式大多数WAF的检测流程可以简化为接收请求 - 解析请求URL、参数、头部、Body- 与规则库匹配 - 决定拦截或放行。这里的关键在于“解析”。WAF的解析器必须尽可能模拟后端Web服务器如Apache、Nginx、IIS或应用框架如PHP、Java Servlet、ASP.NET的解析逻辑但百分之百的模拟几乎不可能。原因在于协议实现的细微差别不同服务器对HTTP协议规范RFC的解释和容错能力不同。有些服务器严格有些宽松。性能与深度的权衡WAF为了保障性能可能不会对请求进行“过深”的解析比如嵌套多层的编码、极其复杂的分块数据。规则覆盖的局限性规则库无法覆盖所有可能的变形尤其是将攻击载荷拆散、重组、混淆后的形态。我们的绕过技术正是瞄准了这些“差异点”发起攻击。2.2 我们的核心对抗策略基于以上分析我们的策略可以归纳为三点混淆与变形让攻击载荷“看起来”不像攻击载荷。通过编码、插入无关字符、改变参数结构等方式干扰WAF基于正则表达式的模式匹配。这是“编码”和“HPP”手法的核心。干扰解析过程发送一些特殊构造的HTTP请求使得WAF的解析器出错、提前结束解析或者解析结果与后端服务器不同。这是“分块传输编码”手法的精髓。利用解析优先级差异当同一个参数名出现多次时WAF和后端服务器选择解析哪一个这可能存在差异。HTTP参数污染就是利用这一点。理解了“为什么”要这么做我们再来看“怎么做”就会清晰很多。每一种技术都不是孤立的在实战中常常需要组合使用以达到更好的绕过效果。3. 技术一编码混淆——给恶意载荷穿上“马甲”编码混淆是最基础、最常用的绕过手段。其核心思想是将攻击载荷中的特殊字符或整个字符串转换为另一种格式但确保后端服务器在处理请求时能够正确解码并还原出原始恶意载荷。3.1 常见编码类型与实战应用不是所有编码都有效关键要看后端服务器是否会自动解码。以下是几种在绕过WAF时特别有用的编码1. URL编码Percent-Encoding这是最普遍的编码。WAF规则通常会解码一层URL编码进行检查。但我们可以利用多重编码Double Encoding或非标准编码点。实战手法对已经被编码过的字符再次进行编码。例如单引号的一次编码是%27二次编码是%2527因为%被编码成了%25。如果WAF只解码一层看到的是%27可能仍会警惕。但如果WAF解码两层或者后端服务器解码两层而WAF只解码一层那么%2527在WAF看来是字面字符串到了后端却变成了。# 原始攻击载荷 /vuln.php?id1 AND 11-- # 一次URL编码 /vuln.php?id1%27%20AND%2011-- # 二次URL编码重点 /vuln.php?id1%2527%2520AND%25201%253D1--注意事项并非所有服务器都支持多重解码。需要测试目标环境。通常PHP配合Apache/Nginx的环境容错性较强。2. Unicode编码在JSON或某些特定上下文中有奇效。例如将字符转换为其Unicode码点形式。实战手法将关键字符如,,等转换为\u003c,\u003e,\u0027。有些WAF的规则可能没有覆盖这些Unicode表示形式。// 原始XSS载荷 scriptalert(1)/script // Unicode编码后 \u003cscript\u003ealert(1)\u003c/script\u003e注意事项这高度依赖于应用场景。如果前端JS使用eval()或innerHTML解析这些字符串且没有正确过滤就可能触发。对于SQL注入数据库通常不认Unicode编码的引号。3. HTML实体编码主要用于绕过针对XSS的过滤特别是在输出上下文在HTML标签内或属性内时。实战手法将、、、、等编码为lt;、gt;、amp;、quot;、#x27;等。如果WAF检测的是解码前的实体而浏览器自动解码了实体则绕过成功。!-- 原始输入被转义了试试实体 -- img srcx onerroralert(1) !-- 编码后 -- img srcx onerroralertlpar;1rpar; !-- 一种变种十进制/十六进制实体 -- img srcx onerror#97;#108;#101;#114;#116;#40;#49;#41;注意事项需要精确判断输出点的上下文。在script标签内HTML实体不会被解析此方法无效。4. 基于协议特性的编码Transfer-Encoding: chunked与Content-Encoding: gzip这是更高级的混淆严格来说属于下节“分块传输”的范畴但本质也是一种编码。我们可以发送经过gzip压缩的请求体并在头部声明Content-Encoding: gzip。如果WAF不具备解压能力或未启用该功能它就无法检查压缩体内的恶意代码。实操步骤构造正常的POST请求和攻击载荷。使用工具如Python的gzip库将请求体压缩。在HTTP头中添加Content-Encoding: gzip。发送请求。工具推荐Burp Suite的插件如Content-Encoding Scanner可以自动尝试此类攻击。手动测试可以用Python脚本快速实现。import gzip, requests import urllib.parse # 原始恶意参数 raw_body usernameadmin OR 11passwordtest # 进行gzip压缩 compressed_body gzip.compress(raw_body.encode()) headers { Content-Encoding: gzip, Content-Type: application/x-www-form-urlencoded } response requests.post(http://target.com/login, datacompressed_body, headersheaders) print(response.text)心得这种手法对WAF的性能和配置要求较高成功率在针对老旧或配置不当的WAF时不错。但现代云WAF如AWS WAF, Cloudflare大多能处理。关键技巧编码绕过的核心是“迭代测试”。不要只尝试一种编码。可以按顺序或随机组合多种编码方式如先URL编码再对其中部分字符进行HTML实体编码。使用Burp Suite的Decoder模块和Intruder的Payload Processing功能可以高效地生成和测试大量编码变体。4. 技术二分块传输编码Chunked Transfer Encoding——打乱WAF的扫描节奏分块传输编码是HTTP/1.1协议中定义的一种传输数据的方式。它允许发送方将消息体分割成一系列“块”chunks逐个发送每个块包含自身的大小和数据。这对于绕过WAF来说是一个绝佳的突破口因为许多WAF为了性能考虑可能无法完整、正确地处理分块消息或者其解析器与后端服务器的解析存在差异。4.1 分块传输编码原理与标准格式在标准HTTP请求中我们使用Content-Length头来明确告知服务器请求体有多长。而在分块传输中我们使用Transfer-Encoding: chunked头并且请求体的格式如下[chunk size in hex]\r\n [chunk data]\r\n [chunk size in hex]\r\n [chunk data]\r\n ... 0\r\n \r\n例如字符串“Hello World”被分块传输可能是b\r\n Hello World\r\n 0\r\n \r\nb是十六进制的11表示后面数据长度为11字节。4.2 绕过WAF的实战变形手法我们正是要利用WAF在解析这种非标准、被精心构造的分块数据时可能出现的错误。1. 大小写混淆协议规定Transfer-Encoding头值不区分大小写但某些WAF的规则可能只匹配chunked。尝试Transfer-Encoding: CHUNKED,Transfer-Encoding: ChUnKeD, 甚至Transfer-Encoding: xchunked有些蹩脚的解析器可能只匹配chunked这个单词。2. 重叠头部Header Overlap同时提供Content-Length和Transfer-Encoding: chunked头。根据RFC当两者共存时Transfer-Encoding优先级更高。但WAF和后端服务器在处理这个冲突时可能行为不一致。尝试POST /test.php HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded Content-Length: 100 Transfer-Encoding: chunked 5\r\n id1\r\n 0\r\n \r\nWAF可能根据Content-Length: 100去读取100字节的body但实际body很短导致WAF等待超时或解析错误而后端服务器正确识别了chunked并处理了id1。3. 非标准分块格式脏数据注入在分块数据中插入额外的空格、制表符、注释等干扰WAF的解析器。尝试Transfer-Encoding: chunked 5; some-parametervalue\r\n # 在块大小后添加分号及参数RFC允许 id1 \r\n # 数据后多加一个空格 0\r\n \r\n或者插入无意义的“脏块”2\r\n xx\r\n # 一个无关的块 5\r\n id1\r\n 0\r\n \r\n4. 利用分块“拆散”攻击载荷这是最有效的技巧之一。将一句完整的SQL注入或XSS载荷拆分成多个小块。WAF可能对每个小块进行检测但由于每个小块本身不构成完整的恶意模式因此被放行。后端服务器在重组所有块后却得到了完整的恶意载荷。实战示例绕过union select检测。完整载荷?id1 union select 1,2,3--分块拆散假设# 块1: ?id1 uni # 块2: on sel # 块3: ect 1,2,3--WAF单独看uni、sel都不是敏感词但后端组合起来就是union select。4.3 自动化工具与手动测试方法手动构造分块请求非常繁琐。幸运的是我们有强大的工具。Burp Suite 插件Chunked Coding Converter这是必备神器。安装后在Proxy或Repeater中右键请求选择Extensions-Chunked Coding Converter-Convert to chunked encoding。你可以进一步配置分块大小、是否添加脏字符等。手动测试流程在Repeater中捕获一个正常请求。删除或置空Content-Length头。添加Transfer-Encoding: chunked头。将请求体按照分块格式重写。例如你想提交id1 AND 11可以将其分成id1和AND 11两块。发送请求观察响应。如果返回正常非WAF拦截页则可能绕过成功。踩坑实录分块传输编码并非万能。首先目标服务器必须支持HTTP/1.1。其次很多现代WAF特别是基于代理模式的云WAF已经能够很好地处理甚至规范化分块请求。它的成功率在对抗传统硬件WAF或配置疏漏的软件WAF时更高。此外过量或畸形的分块可能导致服务器直接返回400错误因此需要耐心调整分块策略。5. 技术三HTTP参数污染HPP——制造参数解析的“混乱”HTTP参数污染HPP攻击利用了这样一个事实当HTTP请求中同一个参数名出现多次时不同的Web技术栈会选择不同的值。WAF在检测时选取的参数值可能和最终后端应用获取到的参数值不一样从而导致绕过。5.1 不同后端技术的参数解析差异这是HPP攻击的基础必须熟记后端技术/服务器解析多个同名参数时的行为通常PHP / Apache通常取最后一个值。?id1id2$_GET[‘id’]为2。J2EE / Tomcat通常取第一个值。?id1id2request.getParameter(“id”)为1。ASP.NET / IIS通常取所有值用逗号连接。?id1id2Request.QueryString[“id”]为”1,2″。Python (Django)通常取最后一个值类似PHP。Node.js (Express)通常取第一个值类似J2EE。5.2 HPP绕过WAF的经典场景场景一WAF检测第一个后端取最后一个PHP环境假设一个SQL注入点/search.php?qkeyword。WAF规则检测q参数的值。攻击构造/search.php?qvalidkeywordq-1 UNION SELECT 1,2,3--WAF视角它看到第一个qvalidkeyword这是一个无害的值于是放行。PHP后端视角$_GET[‘q’]取最后一个值即-1 UNION SELECT 1,2,3--注入成功。场景二WAF检测最后一个后端取第一个J2EE环境攻击构造/search.do?q-1 UNION SELECT 1,2,3--qvalidkeywordWAF视角它看到最后一个qvalidkeyword放行。J2EE后端视角request.getParameter(“q”)取第一个值即注入载荷。场景三污染参数位置改变参数结构有时WAF会检查整个查询字符串。我们可以通过添加多余参数来破坏其检测模式。原始注入?id1 AND 11HPP变形?id1 AND 11namevalueid2这里虽然最终后端如PHP取id2但注入语句1 AND 11作为第一个id参数已经传递给了服务器。关键在于某些WAF的规则可能匹配整个id参数序列的模式而污染后模式被破坏。或者WAF只检测最后一个id而注入语句在第一个id里触发了漏洞。场景四结合URL编码制造更深的混淆?id1%26id%3D2解码后是id1id2。如果WAF在解码前检测它看到的是id1%26id%3D2一个完整的字符串。后端解码后得到两个参数。这可以用来隐藏第二个污染参数的真实意图。5.3 自动化测试与技巧HPP测试相对简单可以手动在Burp Repeater中修改参数也可以使用Intruder进行自动化。手动测试在存在参数的请求中直接复制参数例如将?id1改为?id1id2观察响应差异。再根据响应判断后端类型取第一个还是最后一个然后构造相应的攻击参数对。使用Burp Intruder将参数值设为两个Payload位置?id§PAYLOAD1§id§PAYLOAD2§。PAYLOAD1列表放恶意载荷。PAYLOAD2列表放无害词汇如test,123。根据后端类型在Grep - Match中设置对注入成功特征的匹配如数据库错误信息、时间延迟、特定字符串回显。结合其他技术HPP可以与编码、分块传输结合。例如在分块传输的请求体中构造污染的参数对。重要心得HPP的成功率高度依赖于WAF的检测策略和后端技术的确定性。在测试前务必先探明后端技术栈通过报错信息、Cookie、响应头等。盲目测试效率很低。此外HPP不仅用于绕过WAF在逻辑漏洞挖掘中如覆盖关键参数也有广泛应用。6. 组合拳实战一次完整的WAF绕过流程模拟理论说得再多不如一次实战推演。假设我们目标是一个采用PHPMySQL架构的网站前端部署了某品牌硬件WAF。我们发现了一个可能的数字型SQL注入点/product.php?id1。第1步信息收集与基线建立正常访问/product.php?id1返回产品A信息。测试注入访问/product.php?id1 AND 11和/product.php?id1 AND 12。发现两者均被WAF拦截返回统一的“非法请求”页面。确认WAF存在且生效。探测后端故意制造一个错误如/product.php?idabc。返回错误信息中可能包含“MySQL”、“PHP”等字样确认后端为PHPMySQL。第2步尝试基础编码绕过对空格和等号进行URL编码id1%20AND%201%3D1。被拦截。尝试双重URL编码id1%2520AND%25201%253D1。仍然被拦截。说明该WAF具备多层解码能力或直接检测了%25模式。第3步引入分块传输编码使用Burp Suite捕获GET /product.php?id1请求。将其转换为POST请求有时POST更容易操作分块参数移到Bodyid1。使用Chunked Coding Converter插件将请求转换为分块编码分块大小设为5字节。发送请求。服务器返回400错误可能不支持POST方式接收此参数。换回GET请求但GET请求的Body通常为空分块编码主要用于POST/PUT的Body。这条路暂时不通。这是一个常见的坑目标接口可能只接受GET或特定格式第4步转向HTTP参数污染HPP基于第1步信息后端是PHP通常取最后一个参数值。构造HPP Payload/product.php?id1 AND 11id1WAF可能检测第一个id参数1 AND 11触发拦截。尝试/product.php?id1id1 AND 11。发送请求。观察响应页面正常显示产品A信息。没有拦截这是一个积极信号。验证注入/product.php?id1id1 AND 12。页面内容发生变化产品A信息消失或报错。确认注入存在且WAF被绕过第5步利用HPP通道进行深度注入现在我们已经有了一个“安全”的id参数第一个来满足WAF和一个“恶意”的id参数第二个被PHP执行。构造联合查询获取信息/product.php?id1id-1 UNION SELECT 1,2,database()--如果被拦截可能UNION SELECT是敏感词。尝试编码或拆分。先用HPP/product.php?id1id-1 UNI和ON SEL和ECT 1,2,3--不行因为PHP需要完整的语句。尝试对UNION SELECT进行URL编码UNION%20SELECT。Payload变为/product.php?id1id-1 UNION%20SELECT 1,2,database()--发送请求成功在页面中看到数字2的位置被替换为数据库名。绕过成功第6步组合技巧应对复杂情况如果上述HPP单独使用被拦截可以尝试与编码结合/product.php?id1id-1%20UNION%20SELECT%201,2,3--或者如果WAF开始检测参数数量异常可以添加更多无关参数进行干扰/product.php?uid123id1fromhomeid-1 UNION SELECT 1,2,3tokenabc这个流程展示了从探测、单点突破到最终利用的过程。核心思想是灵活、迭代、组合。没有一种方法永远有效关键在于根据目标的反应不断调整策略。7. 防御视角如何构建更有效的WAF策略作为一名渗透测试人员了解绕过手法的最终目的也是为了更好地帮助客户加固防御。从防御者角度看如何应对这些绕过技术规范化与深度解析WAF应在安全检测前对请求进行最大程度的规范化如多次URL解码、解析分块编码、解压gzip、合并/解析HPP参数。这需要强大的协议解析引擎可能会牺牲一些性能。语义分析而非单纯模式匹配不要只依赖正则表达式匹配“union select”。应尝试理解参数的上下文和意图。例如检测SQL注入时可以解析参数值看是否构成一个逻辑上可执行的SQL语句片段即使用编码或分块其语义不变。学习与白名单机制对于关键业务接口建立严格的参数格式白名单如id参数只允许数字。结合机器学习模型对正常流量建模识别异常流量模式。多层次防御不要只依赖WAF。在应用层做好输入验证白名单、使用参数化查询防SQL注入、输出编码防XSS。WAF应作为最后一道防线而非唯一防线。定期攻防演练与规则更新主动进行渗透测试使用上述绕过技术攻击自己的系统检验WAF规则的有效性并及时更新规则库。8. 工具链与资源推荐工欲善其事必先利其器。以下是我在实战中常用的工具和资源核心平台Burp Suite Professional插件生态无敌。必备插件包括Chunked Coding Converter,HTTP Request Smuggler,Param Miner,Turbo Intruder,WAF Bypass相关集合插件。OWASP ZAP开源替代品功能强大同样支持脚本和插件。编码/解码工具Burp Suite Decoder/Encoder内置最方便。CyberChef网页版“瑞士军刀”支持无数种编码、加密、哈希操作离线也可用。Pythonurllib.parse/html/codecs库用于编写自动化脚本。分块传输测试Burp 插件Chunked Coding Converter如前所述。手动构造工具可以自己写Python脚本精确控制每个分块和脏字符。HPP测试Burp Intruder用于自动化测试参数污染。浏览器插件HPP Finder可辅助发现潜在的HPP漏洞。学习资源《Web Application Hacker‘s Handbook》经典教材涵盖基础。OWASP Testing Guide官方的测试指南。PortSwigger Web Security Academy免费、高质量的实验环境包含WAF绕过相关主题。HackTricks一个极佳的Wiki搜索“WAF Bypass”有大量技巧和Payload。最后我想分享一点个人体会WAF绕过是一场持续的动态博弈。今天有效的方法明天可能因为规则更新而失效。因此保持好奇心、持续学习、深入理解HTTP协议和各类Web技术的底层解析逻辑比死记硬背几个Payload重要得多。在测试时养成“为什么这个会被拦那个不会”的思考习惯多看看WAF返回的日志或提示如果有这能帮你更快地摸清它的检测边界。真正的能力在于这种分析和适应的过程而不在于手里有多少个现成的绕过字符串。

相关新闻

从零打造桌面机器人:3D打印+Arduino+舵机入门实践

从零打造桌面机器人:3D打印+Arduino+舵机入门实践

1. 项目概述:从零打造一个会动的桌面伙伴看到“功能性3D打印机器人”这个标题,很多朋友可能会觉得门槛很高,联想到复杂的工业机械臂或者需要深厚编程功底的仿生机器人。其实不然,这个项目的核心魅力恰恰在于它的“简单易制作”。它…

2026/7/29 7:38:51阅读更多 →
Arduino十年生态演进:从开源硬件到物联网与智能硬件的实战开发

Arduino十年生态演进:从开源硬件到物联网与智能硬件的实战开发

1. 从“大爬梯”看开源硬件的十年生态演进3月29日,Arduino在上海举办了一场名为“10周年大爬梯”的社区活动。这个标题本身就很有意思,“大爬梯”是“Party”的音译,带着一种本土化的、轻松随意的社区氛围。对于一个已经走过十年的开源硬件平…

2026/7/29 7:38:51阅读更多 →
从能量收集到微弱信号处理:硬核创客项目的跨学科实现指南

从能量收集到微弱信号处理:硬核创客项目的跨学科实现指南

1. 项目概述:从“创客”到“硬核玩家”的自我修养最近在创客圈子里,几个项目标题频繁刷屏:“永动LED手表”、“便携式血流成像手表”、“地震波探测仪”。乍一看,这三个项目风马牛不相及,一个玩的是能量回收&#xff0…

2026/7/29 7:38:51阅读更多 →
【无功优化】配电网+电动汽车V2G+无功优化研究(Matlab代码实现)

【无功优化】配电网+电动汽车V2G+无功优化研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/7/29 10:19:28阅读更多 →
考虑电动汽车 V2G 的配电网多源协同无功优化研究(Matlab代码实现)

考虑电动汽车 V2G 的配电网多源协同无功优化研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/7/29 10:19:28阅读更多 →
面向算力 - 电力 - 热力耦合综合能源系统的协同优化调度研究(Matlab代码实现)

面向算力 - 电力 - 热力耦合综合能源系统的协同优化调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/7/29 10:19:28阅读更多 →
【承载力评估】配电网+多渗透率电动汽车接入研究(Matlab代码实现)

【承载力评估】配电网+多渗透率电动汽车接入研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/7/29 10:19:28阅读更多 →
千笔AI论文写作工具功能解析与使用技巧

千笔AI论文写作工具功能解析与使用技巧

1. 千笔AI论文写作工具深度解析作为一名在学术领域深耕多年的研究者,我最近系统测试了这款号称"全学科适配"的AI论文写作工具。经过为期三周的深度使用,我将从实际体验出发,分享这款工具的核心功能、适用场景以及使用技巧。2. 核心…

2026/7/29 10:19:28阅读更多 →
Spring AI中Token成本优化与结构化输出实践

Spring AI中Token成本优化与结构化输出实践

1. Spring AI 中的 Token 成本优化实战在 Spring AI 项目中,Token 成本是直接影响项目经济性的关键指标。以 GPT-3.5 为例,每 1000 个 Token 的成本约为 $0.002,看似微小但在高频调用场景下会快速累积。我在电商客服机器人项目中就曾遇到月均…

2026/7/29 10:17:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/29 9:47:45阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/29 7:00:19阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/29 7:58:51阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →