CTFHub协议层SQL注入:从Cookie/UA/Referer到HTTP头注入的实战攻防
1. 项目概述从常规注入到协议层的攻防博弈在CTFCapture The Flag竞赛和日常渗透测试中SQL注入始终是Web安全领域的核心考点。新手入门时往往从最基础的id1这种GET参数注入开始掌握了union select、报错注入、布尔盲注和时间盲注等基本姿势后便以为掌握了SQL注入的精髓。然而现实中的靶场和真实环境远比这复杂。CTFHub的技能树设计就非常精妙它不会让你停留在“Hello World”阶段而是会引导你进入更深的层次——协议层注入。所谓协议层注入是指注入点并不局限于我们肉眼可见的URL参数GET或表单体POST。攻击的触角可以延伸到HTTP协议承载的几乎任何部分比如标识用户身份的Cookie、标明客户端类型的User-Agent、告诉服务器“我从哪里来”的Referer头甚至是X-Forwarded-For这样的扩展头。这些地方如果被开发者疏忽直接拼接进了SQL查询语句就会成为隐秘而致命的注入点。我最初在CTFHub上遇到这类题目时就曾一度卡壳因为常规的扫描工具和测试习惯很容易让你忽略这些“非主流”的输入源。通关这类题目的关键在于思维的转变。你不能只盯着浏览器地址栏和表单输入框。你需要像一个协议解析器一样去思考理解一次HTTP请求的完整结构并意识到服务器后端可能会处理其中的任何一部分数据。本次总结的7种特殊场景绕过技巧正是基于CTFHub上具有代表性的题目涵盖了Cookie、UA、Referer以及一些需要特定技巧处理的过滤场景。掌握它们不仅能帮你攻克CTFHub的技能树关卡更能让你在实战渗透中拥有更敏锐的嗅觉知道在常规注入点无效时该向何处寻找突破口。2. 核心场景解析七类非典型注入点深度剖析2.1 Cookie注入隐藏在身份凭证后的漏洞Cookie注入之所以容易被忽略是因为在常规认知里Cookie是服务器发给客户端、用于维持会话状态的一段数据通常被认为是“可信的”或“只读的”。开发者可能会用Cookie来存储用户ID、会话令牌并直接用它来查询数据库例如SELECT * FROM users WHERE session_id ‘$_COOKIE[‘session’]‘。如果这个值未经过滤注入就产生了。在CTFHub的题目中Cookie注入点往往伪装得很好。页面可能只有一个简单的登录框或展示页面对GET/POST参数进行测试都无功而返。这时候你就需要拦截请求查看哪些Cookie被发送了。一个经典的技巧是尝试修改那些看起来像ID或标识符的Cookie值比如user_id、admin、auth等在其后添加一个单引号‘观察页面是否返回数据库错误报错注入或行为异常布尔盲注。实操要点定位注入点使用Burp Suite或浏览器开发者工具捕获目标请求。仔细检查Cookie请求头寻找可能被后端用于数据库查询的参数名。测试与利用假设找到Cookie: id1将其改为id1‘。如果页面报错说明存在注入。后续利用方式与常规注入无异你可以使用id1‘ and 11 --和id1‘ and 12 --来测试布尔逻辑或者使用id1‘ and updatexml(1,concat(0x7e,(select database()),0x7e),1) --进行报错注入。注意事项由于Cookie通常在每个请求中都会自动携带所以你的攻击Payload会持续生效直到Cookie过期或被清除。这也意味着一旦构造出注入语句你可以像操作GET参数一样方便地进行联合查询、数据提取等操作。2.2 User-Agent 与 Referer 注入请求头中的盲点User-Agent (UA) 和 Referer 是HTTP请求头中的两个常见字段。UA告诉服务器客户端的浏览器和操作系统信息Referer则表明当前请求是从哪个页面链接过来的。有些网站为了统计流量来源、记录客户端类型以便优化显示可能会将这些信息存入数据库。如果存储时没有过滤就成了注入点。这类注入的特点在于注入的输入和输出通常是分离的。你修改了UA或Referer发起请求但结果可能不会直接体现在当前页面的回显上。它可能需要你之后在某个“访问日志查询”或“客户端统计”页面才能看到注入语句的执行结果比如数据库名被当作UA记录了下来。这就是典型的“二次注入”或“存储型注入”在请求头场景下的变种。绕过技巧针对UA注入你需要将SQL注入语句伪装成合法的UA字符串。例如正常的UA可能是Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36。你的Payload可以拼接在后面... AppleWebKit/537.36‘, (select database()) --。这里用单引号闭合UA字段原有的引号然后用--注释掉后续可能存在的SQL代码。针对Referer注入原理类似。假设服务器执行INSERT INTO logs (url, referer) VALUES (‘$page‘, ‘$_SERVER[‘HTTP_REFERER’]‘)。你的Payload可以构造为在Referer字段中输入‘ (select version()) ‘。这样最终执行的SQL会变成INSERT ... VALUES (‘index.php‘, ‘‘ (select version()) ‘‘)从而将数据库版本号写入referer字段。注意在实际测试中修改Referer有时会受到浏览器安全策略的限制例如从HTTPS页面跳转到HTTP页面可能不发送Referer。因此使用代理工具如Burp Suite直接修改原始请求包是最可靠的方式。2.3 其他HTTP头注入X-Forwarded-For与Host除了上述常见头一些用于传递客户端真实IP的头部如X-Forwarded-For(XFF) 或Client-IP也是高危点。特别是在需要记录IP地址的应用中如评论、登录日志开发者可能直接信任并使用了这些头部的值。测试方法与Cookie注入类似在请求中加上或修改X-Forwarded-For头的值进行测试。Host头注入相对少见但危害巨大。Host头通常用于虚拟主机路由。如果应用程序错误地使用了Host头来构造SQL查询例如生成包含域名的绝对URL并存入数据库攻击者就可以篡改Host头进行注入。由于Host头在HTTP/1.1中是必需的且很多框架和中间件都会对其进行处理所以一旦存在漏洞影响面很广。2.4 参数污染与混淆绕过CTFHub中还有一些题目并非注入点隐蔽而是对输入进行了过滤或混淆需要特定技巧绕过。参数污染(HPP)当服务器同时接受GET和POST同名参数或者接受多个同名参数时不同后端语言/框架的处理方式不同。例如PHP默认取最后一个值而JSP取第一个值。你可以利用这一点在一个参数中提交合法值在另一个同名参数中提交注入Payload以期绕过简单的字符串匹配过滤。编码与双重编码如果过滤器只解码一次你可以对注入字符进行双重URL编码。例如单引号‘的URL编码是%27。双重编码后变成%2527。服务器收到后第一次解码得到%27如果此时没有立即进行SQL查询而是将其存入某个上下文之后再次解码时%27才会被还原为‘从而绕过第一次的过滤检查。注释符绕过常见的注释符--和#可能被过滤。可以尝试使用/**/MySQL中的多行注释来分隔关键词例如UNION/**/SELECT。或者在不需要注释掉后续SQL时精心构造Payload使其语法自闭合。2.5 布尔盲注与时间盲注在特殊场景下的应用在Cookie、UA等注入场景中报错信息可能被关闭联合查询的结果也可能不回显到页面。这时布尔盲注和时间盲注就是唯一的选择。其原理与常规盲注一致但需要你更仔细地观察页面差异。布尔盲注通过注入and ‘a‘‘a‘真和and ‘a‘‘b‘假这样的条件语句观察页面内容如某个单词是否存在、页面标题是否变化、图片是否加载的细微差别。在CTFHub题目中这种差别可能非常隐蔽比如一行提示文字的改变或者一个HTML注释的不同。时间盲注当页面没有任何内容变化时使用sleep()函数。例如id1‘ and if(ascii(substr(database(),1,1))100, sleep(3), 0) --。如果页面响应延迟了3秒说明条件为真。这是最耗时间但最通用的方法。实操心得在进行头部的盲注时强烈建议使用自动化脚本如Python的requests库配合Burp Suite的Intruder模块。手动一个个字符去猜解效率极低。脚本可以帮你快速遍历ASCII码根据响应时间或特征判断结果。2.6 工具链配合Burp Suite与手工测试的结合面对这些特殊注入点纯手工测试效率低下纯靠自动化扫描器又可能无法识别。最佳实践是“工具辅助手工精调”。发现阶段Burp Suite使用Proxy拦截所有浏览器流量。使用Scanner进行主动扫描时确保在“扫描配置-作用域”中勾选了“包括所有请求头”。更有效的方法是将你觉得可疑的请求尤其是包含Cookie、UA等头的发送到Intruder对头部字段的值进行Fuzz测试。可以加载一个简单的Payload集如‘,“,‘ OR ‘1‘‘1,‘; SLEEP(5)--观察响应长度、时间和内容的变化。验证与利用阶段手工工具当Intruder或Scanner提示可能存在注入时切换到Repeater模块进行手动验证。在这里你可以精细地修改Payload观察响应。对于盲注利用Intruder的“狙击手”或“集束炸弹”模式配合Python脚本进行自动化数据提取。例如用脚本循环请求根据响应时间判断sleep()是否执行从而逐位爆出数据库名、表名、字段名。2.7 防御视角下的思考如何避免此类漏洞作为攻击者我们寻找漏洞但作为安全从业者或开发者我们更应知道如何修复。针对这些特殊场景的注入防御原则万变不离其宗最小化信任原则不要信任任何来自客户端的输入包括但不限于GET、POST、Cookie、Header。所有输入在进入SQL查询前都必须经过验证或处理。使用参数化查询预编译语句这是根治SQL注入的银弹。无论是使用PHP的PDO、Python的sqlite3、Java的PreparedStatement还是MyBatis中的#{}占位符都能确保用户输入被严格地当作数据处理而非SQL代码的一部分。重点区分在MyBatis中务必使用#{}而非${}。#{}是参数占位符会进行预编译而${}是字符串替换直接将值拼接到SQL语句中存在注入风险。奇安信等安全扫描器报出的SQL注入漏洞很多正是因为误用了${}。严格的输入过滤与白名单如果某些场景下必须拼接SQL应极力避免应对输入进行严格的过滤。但过滤黑名单如删除‘,“,union,select很容易被绕过。更推荐使用白名单只允许符合特定格式的字符通过如数字ID只允许数字。降低错误信息泄露在生产环境中关闭数据库的错误回显使用统一的错误页面。这能增加攻击者进行报错注入和盲注的难度。安全编码规范对团队进行安全培训明确禁止将Cookie、Header等值直接拼接进SQL语句。在代码审计环节将此作为重点检查项。3. 实战通关流程以CTFHub典型题目为例让我们以一个虚构但融合了CTFHub多个考点的综合题目为例演示完整的发现、测试、利用流程。假设目标URL为http://challenge.ctfhub.com:10080/页面是一个简单的新闻展示站。3.1 信息收集与初步探测首先用浏览器打开页面是一个新闻列表点击任何一条新闻URL变为http://challenge.ctfhub.com:10080/news.php?id1。这看起来是一个典型的GET参数注入点。步骤1测试基础注入点在id1后加单引号页面返回了详细的MySQL错误信息“You have an error in your SQL syntax...”。太好了存在报错注入且错误信息开放。步骤2尝试常规利用立刻尝试报错注入Payloadid1‘ and updatexml(1,concat(0x7e,(select database()),0x7e),1) --页面返回了错误但其中并没有包含数据库名而是显示“Database error”。看来开发者对错误信息做了处理只显示通用提示我们无法直接通过报错获取信息。转向布尔盲注。步骤3测试布尔盲注输入id1‘ and 11 --页面正常显示新闻。 输入id1‘ and 12 --页面显示“News not found”。 布尔盲注条件成立我们可以通过页面是否显示新闻来判断注入条件真假。3.2 扩大攻击面检查请求头虽然找到了注入点但为了通关技能树我们需要检查是否有其他注入点。打开Burp Suite配置代理拦截对news.php?id1的请求。步骤4拦截与分析请求查看原始的HTTP请求包GET /news.php?id1 HTTP/1.1 Host: challenge.ctfhub.com:10080 User-Agent: Mozilla/5.0... Accept: text/html... Cookie: sessionabc123; user_tokendef456 Referer: http://somepage.com ...我们注意到Cookie中有两个参数session和user_token。Referer头也存在。步骤5测试Cookie注入在Burp Repeater中修改Cookie值将user_tokendef456改为user_tokendef456‘。发送请求页面依然正常。可能这个参数未被使用或过滤了。将sessionabc123改为sessionabc123‘。发送请求页面返回“Database error”这说明session这个Cookie参数存在注入点且同样触发了数据库错误虽然信息被隐藏。步骤6测试Referer注入修改Referer头为Referer: ‘ OR ‘1‘‘1。发送请求页面正常显示。 修改为Referer: ‘ OR ‘1‘‘2。发送请求页面显示“Invalid Referer”。这表明Referer参数也被用于了数据库查询并且存在布尔逻辑判断是一个潜在的布尔盲注点。3.3 多注入点利用选择合适的突破口现在我们至少有三个注入点GET参数id布尔盲注、Cookie参数session报错型但错误信息被隐藏可能转为盲注、Referer头布尔盲注。GET参数 (id)最方便因为可以直接在浏览器地址栏修改。适合用于手工快速测试和利用。Cookie (session)需要在Burp中操作但一旦构造好Payload每次请求都会自动携带适合自动化脚本。Referer需要每次手动设置请求头相对麻烦。对于提取数据我们选择利用id参数进行布尔盲注因为它响应直观显示新闻/不显示新闻。3.4 自动化数据提取编写Python脚本为了爆出数据库名我们编写一个简单的Python脚本。这里以爆出第一个字符为例。import requests import time url http://challenge.ctfhub.com:10080/news.php # 注意维持一个有效的会话因为可能涉及其他验证 session requests.Session() # 先获取一个有效的Cookie如果有的话 resp session.get(url, params{id: 1}) cookies session.cookies.get_dict() def test_condition(condition_sql): 发送注入请求判断条件是否为真 条件为真时页面应包含‘News Title’假设正常页面有此文本 条件为假时页面包含‘News not found’ params {id: f1 and {condition_sql} -- } # 注意这里需要带上我们发现的可能用于验证的Cookie headers { Cookie: fsession{cookies.get(session, )}; user_token{cookies.get(user_token, )} } resp session.get(url, paramsparams, headersheaders) if News Title in resp.text: # 替换为实际页面中的特征字符串 return True elif News not found in resp.text: return False else: print(Unexpected response) return None # 爆数据库名长度 db_name_len 0 for i in range(1, 50): condition flength(database()){i} if test_condition(condition): db_name_len i print(f[] Database name length: {i}) break # 爆数据库名 (ASCII码逐位比较) db_name for pos in range(1, db_name_len 1): for ascii_val in range(32, 127): # 可打印字符范围 condition fascii(substr(database(),{pos},1)){ascii_val} if test_condition(condition): db_name chr(ascii_val) print(f[] Position {pos}: {chr(ascii_val)} - Current name: {db_name}) break time.sleep(0.1) # 避免请求过快 print(f[] Database name: {db_name})运行这个脚本理论上可以逐步爆出数据库名、表名、字段名和具体数据。在实际CTF中你可能需要根据页面特征调整test_condition函数中的判断逻辑。3.5 利用Cookie注入进行二阶攻击有时GET/POST注入点可能被严格过滤但Cookie注入点过滤较弱。或者注入的结果不会立即显示需要触发另一个功能点。例如session的注入点可能用于更新用户最后活跃时间并将这个时间可能包含注入结果显示在用户的个人资料页。这就需要我们进行“二阶注入”通过Cookie注入将select database()的结果“写入”到数据库的某个字段比如最后登录时间字段虽然不合理但可能由于SQL语句构造问题而实现。然后去访问个人资料页面查看那个字段的内容从而读取到注入结果。这种场景下你的Payload需要精心构造以符合字段类型比如时间字段可能需要你闭合后让查询结果作为值的一部分。这非常考验对后端SQL语句结构的猜测能力。4. 常见问题排查与技巧实录在实际操作CTFHub题目或类似环境时你肯定会遇到各种“坑”。下面是我总结的一些典型问题及解决方法。4.1 问题修改Cookie/UA/Referer后页面无任何变化可能原因1注入点判断错误。不是所有Cookie/Header参数都会被后端处理。你需要尝试修改多个不同的参数值并用单引号测试。可能原因2存在Token或CSRF防护。页面可能要求每次请求携带一个随机的Token这个Token可能在表单里也可能在Cookie中。如果你只修改了注入参数但破坏了Token请求会被拒绝。解决方案是先用浏览器正常访问一次用Burp拦截到完整的、成功的请求包然后在这个包的基础上修改注入参数保持其他所有部分尤其是Token不变。可能原因3需要登录态。某些页面只有在登录后才能访问或者某些Cookie注入点只在登录后的会话中生效。确保你的请求携带了有效的登录会话Cookie。4.2 问题布尔盲注时真/假条件返回的页面内容没有明显区别技巧1对比响应长度。在Burp Repeater或Intruder中关注“Length”列。即使页面内容肉眼难以区分and 11和and 12的响应长度可能有几个字节的差异。在Intruder攻击时可以按长度排序找出规律。技巧2寻找隐藏特征。查看网页源代码也许真/假条件下某个HTML注释、某个隐藏的div标签的id、或者某个JavaScript变量的值会不同。技巧3使用时间盲注。如果布尔盲注无法区分果断转向时间盲注。使用if(condition, sleep(2), 0)通过响应时间来判断。注意设置合理的超时时间和延迟阈值。4.3 问题Payload被过滤或转义现象输入单引号后页面显示‘被HTML实体转义或者直接消失了。排查这可能是前端的输入过滤也可能是后端的WAFWeb应用防火墙。首先尝试直接发送原始的HTTP请求包用Burp Repeater绕过前端JavaScript的检查。如果仍然被过滤说明是后端行为。绕过方法大小写混淆尝试UnIoN SeLeCt。双写关键字如果过滤是删除关键词尝试UNIUNIONON SELSELECTECT。使用注释符分割U/**/N/**/I/**/ON。使用编码尝试URL编码、双重URL编码、HTML实体编码等。使用等价函数或语法如果or被过滤尝试||在某些数据库中是逻辑或如果空格被过滤尝试使用/**/、%0a换行符、%0d回车符、%09制表符代替。4.4 问题时间盲注不稳定响应时间波动大优化技巧1增加Sleep时间。将sleep(2)改为sleep(5)让真假的差异更明显。优化技巧2使用BENCHMARK函数MySQL。对于MySQL可以用BENCHMARK(1000000, MD5(‘test‘))来代替sleep执行一个耗时的操作。这有时比sleep更稳定。优化技巧3设置脚本延迟与超时。在Python脚本中为请求设置一个合理的超时如timeout10并根据网络状况设定一个判断真假的延迟阈值比如响应时间3秒为真否则为假。多次请求取平均值可以提高准确性。根本原因网络延迟、服务器负载都会影响响应时间。时间盲注本身就不够可靠应优先考虑布尔盲注。4.5 关于工具使用的误区误区完全依赖SQLmap等自动化工具。对于Cookie、UA、Referer注入SQLmap需要手动指定注入点参数--cookie--user-agent--referer并且需要正确指定Level和Risk等级。对于复杂的过滤和混淆SQLmap可能无法自动识别。手工验证永远是第一步在确认注入点存在且了解其基本过滤规则后再使用SQLmap的--tamper脚本如space2commentequaltolike尝试自动化利用会事半功倍。建议的工作流手工发现并验证注入点 - 手工测试简单的过滤规则 - 使用Burp Intruder进行Fuzz和初步的盲注探测 - 根据探测结果编写或调整Python脚本进行精准数据提取 - 必要时使用SQLmap进行最后的自动化利用和提权尝试。攻克CTFHub上这些特殊场景的SQL注入题目最大的收获不是记住了几个Payload而是建立起一种“全方位输入源”的安全测试思维。在真实的渗透测试中面对一个看似固若金汤的应用当常规参数测试无果时不妨将视线移向HTTP请求的头部、移向那些“约定俗成”被认为安全的地方。这种思维层次的提升远比单纯解出一道题更有价值。最后一个小技巧是养成习惯在Burp Suite中浏览网站时经常查看一下“Target - Site map”中记录下来的每一个请求和参数那里往往藏着意想不到的发现。

相关新闻

【单片机毕设案例分享】基于单片机按键交互的车载语音报站系统实现 基于 STM32F103 的车载时间校准与站点播报设计(014601)

【单片机毕设案例分享】基于单片机按键交互的车载语音报站系统实现 基于 STM32F103 的车载时间校准与站点播报设计(014601)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机,STM32单片机,51单片机,J…

2026/7/31 13:45:39 阅读更多 →
TPM与BitLocker:从硬件信任根到全盘加密的数据安全闭环解析

TPM与BitLocker:从硬件信任根到全盘加密的数据安全闭环解析

1. 项目概述:从硬件到软件的数据安全闭环 如果你最近尝试在虚拟机上安装Windows 11,大概率会遇到那个著名的“此电脑无法运行Windows 11”的提示,而罪魁祸首往往指向一个你可能从未听说过的硬件——TPM。与此同时,当你的公司电脑…

2026/7/31 13:45:39 阅读更多 →
Linux服务器安全防护:ClamAV防病毒引擎部署与自动化扫描实战

Linux服务器安全防护:ClamAV防病毒引擎部署与自动化扫描实战

1. 项目概述与核心价值最近在帮朋友处理一台被挂马的服务器,排查过程让我再次深刻意识到,很多运维朋友对Linux服务器的安全防护存在一个普遍的认知误区:认为Linux系统“百毒不侵”,天然安全,无需安装杀毒软件。这种想法…

2026/7/31 13:45:39 阅读更多 →

最新新闻

WarcraftHelper完整指南:魔兽争霸3兼容性问题的终极解决方案

WarcraftHelper完整指南:魔兽争霸3兼容性问题的终极解决方案

WarcraftHelper完整指南:魔兽争霸3兼容性问题的终极解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典游戏《魔兽争霸3》…

2026/7/31 14:28:48 阅读更多 →
ABAP时间差计算:SD_DATETIME_DIFFERENCE与DELTA_TIME_DAY_HOUR函数详解

ABAP时间差计算:SD_DATETIME_DIFFERENCE与DELTA_TIME_DAY_HOUR函数详解

1. 从一次生产数据核对说起:日期时间差计算的“坑” 最近在做一个生产工时统计报表的开发,需求很简单:根据工单的“实际开始时间”和“实际结束时间”,计算出生产耗时,精确到小时。这听起来像是ABAP里最基础的日期时间…

2026/7/31 14:28:48 阅读更多 →
高冷企鹅PLZDOT盲盒:当代年轻人的情绪出口与情感设计

高冷企鹅PLZDOT盲盒:当代年轻人的情绪出口与情感设计

那天晚上,我正对着电脑屏幕发呆,右下角突然弹出一条朋友的消息:“周末出来聚聚?” 我下意识想回“好啊”,手指却停在了键盘上。最近项目压得人喘不过气,连续加班后,周末唯一的念想就是彻底放空。…

2026/7/31 14:28:48 阅读更多 →
Flask 视图函数新手实战指南

Flask 视图函数新手实战指南

Flask 视图函数新手实战指南 本文档为「从零开始的技术教程」,面向完全没有 Flask 开发经验的新手,手把手带你掌握视图函数的完整开发流程。 WEB项目地址:演示地址 ① 开发环境搭建与首个项目初始化 第一步:安装 Flask Flask 是…

2026/7/31 14:28:48 阅读更多 →
原神脚本终极指南:5分钟掌握自动钓鱼和智能拾取的高效玩法

原神脚本终极指南:5分钟掌握自动钓鱼和智能拾取的高效玩法

原神脚本终极指南:5分钟掌握自动钓鱼和智能拾取的高效玩法 【免费下载链接】genshin-impact-script 原神脚本,包含自动钓鱼、自动拾取、自动跳过对话等多项实用功能。A Genshin Impact script includes many useful features such as automatic fishing,…

2026/7/31 14:28:48 阅读更多 →
League Akari:英雄联盟LCU自动化工具完整指南

League Akari:英雄联盟LCU自动化工具完整指南

League Akari:英雄联盟LCU自动化工具完整指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一款基于英雄联盟LCU …

2026/7/31 14:27:48 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻