当前位置: 首页 > article >正文

收藏备用!网络安全渗透之 CSRF,一篇让你彻底掌握

1 什么是 CSRF面试的时候的著名问题“谈一谈你对 CSRF 与 SSRF 区别的看法”这个问题如果我们用非常通俗的语言讲的话CSRF 更像是钓鱼的举动是用户攻击用户的而对于 SSRF 来说是由服务器发出请求用户日服务器的。CSRFCross-site request forgery跨站请求伪造攻击者诱导受害者进入第三方网站在第三方网站中向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证绕过后台的用户验证达到冒充用户对被攻击的网站执行某项操作的目的。在 Port 中原理图是这样的我们在学习 CSRF 攻击之前好好先阐述一下它的原理一个典型的CSRF攻击有着如下的流程受害者登录 a.com并保留了登录凭证Cookie。攻击者引诱受害者访问了 b.com。b.com 向 a.com 发送了一个请求a.com/actxx。浏览器会默认携带 a.com 的 Cookie。a.com 接收到请求后对请求进行验证并确认是受害者的凭证误以为是受害者自己发送的请求。a.com 以受害者的名义执行了 actxx。攻击完成攻击者在受害者不知情的情况下冒充受害者让 a.com 执行了自己定义的操作。是不是感觉这个工作流程和 XSS 有些类似但是 XSS 与 CSRF 的最大区别在于对 Cookie 的使用XSS 的把受害者 的 Cookie 偷盗过来而 CSRF 则是借用了受害者的 Cookie。下面我们举个例子深化一下 CSRF 的原理。2 CSRF 实战场景(原理应用)本段内容摘自美团技术团队文章这一天小明同学百无聊赖地刷着 Gmail 邮件。大部分都是没营养的通知、验证码、聊天记录之类。但有一封邮件引起了小明的注意甩卖比特币一个只要998聪明的小明当然知道这种肯定是骗子但还是抱着好奇的态度点了进去请勿模仿。果然这只是一个什么都没有的空白页面小明失望的关闭了页面。一切似乎什么都没有发生……在这平静的外表之下黑客的攻击已然得手。小明的 Gmail 中被偷偷设置了一个过滤规则这个规则使得所有的邮件都会被自动转发到 hackerhackermail.com(也就是攻击方的邮箱)。小明还在继续刷着邮件殊不知他的邮件正在一封封地如脱缰的野马一般地持续不断地向着黑客的邮箱转发而去。不久之后的一天小明发现自己的域名已经被转让了。懵懂的小明以为是域名到期自己忘了续费直到有一天对方开出了 $650 的赎回价码小明才开始觉得不太对劲。小明仔细查了下域名的转让对方是拥有自己的验证码的而域名的验证码只存在于自己的邮箱里面。小明回想起那天奇怪的链接打开后重新查看了“空白页”的源码form methodPOST actionhttps://mail.google.com/mail/h/ewt1jmuj4ddv/?vprf enctypemultipart/form-data input typehidden namecf2_emc valuetrue/ input typehidden namecf2_email valuehackerhakermail.com/ ..... input typehidden nameirf valueon/ input typehidden namenvp_bu_cftb valueCreate Filter/ /form script document.forms[0].submit(); /script代码解析 ———— 这也是我们后续要讲到的 CSRF Poc这个页面只要打开就会向Gmail发送一个post请求。请求中执行了“Create Filter”命令将所有的邮件转发到“hackerhackermail.com”。小明由于刚刚就登陆了Gmail所以这个请求发送时携带着小明的登录凭证CookieGmail的后台接收到请求验证了确实有小明的登录凭证于是成功给小明配置了过滤器。黑客可以查看小明的所有邮件包括邮件里的域名验证码等隐私信息。拿到验证码之后黑客就可以要求域名服务商把域名重置给自己。这个页面只要打开就会向Gmail发送一个post请求。请求中执行了“Create Filter”命令将所有的邮件转发到“hackerhackermail.com”。小明由于刚刚就登陆了Gmail所以这个请求发送时携带着小明的登录凭证CookieGmail的后台接收到请求验证了确实有小明的登录凭证于是成功给小明配置了过滤器。黑客可以查看小明的所有邮件包括邮件里的域名验证码等隐私信息。拿到验证码之后黑客就可以要求域名服务商把域名重置给自己。【如果你对网络安全入门感兴趣那么你需要的话可以点击这里网络安全重磅福利入门进阶全套282G学习资源包免费分享】①网络安全学习路线②20 份渗透测试电子书③安全攻防 357 页笔记④50 份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100 个漏洞实战案例⑧安全大厂内部教程3/ CSRF 的攻击方式上文中我们明晰了一下 CSRF 的攻击原理下面我们主讲漏洞挖掘。1. GET 请求产生的 CSRFGET 请求产生的 CSRF 较为简单有 href 攻击的方式与 HTTP 请求的方式。GET 请求的 href 类 CSRFa hrefhttp://bank.com/transfer?account\_number\_from123456789account\_number\_to987654321amount100000View my Pictures!/a在已经登录了bank.com的情况下当我们点击 “View my Pictures” 这一链接时就会将钱从一个账户转移到另一个账户数额为 100000GET 请求的 HTTP 发包 CSRF一般会这样利用![](url/withdraw?amount10000forhacker)在受害者访问含有这个img的页面后浏览器会自动向http://bank.example/withdraw/accountxiaomingamount10000forhacker发出一次 HTTP 请求。在攻击者接收到请求的时候我们便可以“借用”对方的 Cookie。2. POST 请求产生的 CSRFPOST 请求所产生的 CSRF 是我们利用地最多的攻击方式。这种类型的 CSRF 利用起来通常使用的是一个自动提交的表单。form actionhttp://bank.example/withdraw methodPOST input typehidden nameaccount valuexiaoming / input typehidden nameamount value10000 / input typehidden namefor valuehacker / /form script document.forms[0].submit(); /script访问该页面后表单会自动提交相当于模拟用户完成了一次 POST 操作。POST 类型的攻击通常比 GET 要求更加严格一点但仍并不复杂。任何个人网站、博客被黑客上传页面的网站都有可能是发起攻击的来源后端接口不能将安全寄托在仅允许 POST 上面。这里可以通过 Burpsuite 自带的 CSRF Poc 工具进行攻击不过在使用的时候也有一些小技巧。基础的 CSRF 攻击体验对应可以尝试的靶场在这靶场当中并没有添加任意的 CSRF 防御因为 CSRF 本质上是一种钓鱼所以我们也需要第三方网站攻击如自己的服务器或者 Burpsuite 靶场自带的 Exploit serverWebGoat 的 WebWolf。我们先登录进靶场当中发现有一功能点 ———— Update email试想一下我们账号进行了 Update email 的操作。若我们在自己的服务器上面挂上恶意的 Payload诱导他人点击之后。相对应的对方的邮箱也会变成我们 CSRF Poc 所指定的这样子一来我就可以通过 “忘记密码” 这种服务来获取他账户的权限了。(当然这里有个前提对方是登录过的且 Cookie 处于生效期间)Exploit 部分用 Burpsuite 自带的 CSRF Poc 构造出基本框架然后我们把这个核心的表单拿出来并加以修改构造成最后的 POCform method$method action$url input typehidden name$param1name value$param1value /form script document.forms[0].submit(); /script再放入到 Exploit Server 当中点击 Deliver it to victim 即可。在对方未对 CSRF 进行任何防御的时候上述两种 CSRF 攻击方式能够通杀。懂其攻 - 知其守我们现在已经知道 CSRF 攻击方式了接下来着重讲一讲 CSRF 的防御手段以及绕过方式。4/ CSRF 的防御手段主流的 CSRF 防御手段有以下两种ban 掉不明域外访问 ———— 使用同源检测与 Samesite Cookie多加一层验证手段 CSRF Token1. 接近无敌的防御手法 CSRF Token如果通俗易懂地解释一下 CSRF Token 的工作原理的话是这样的。CSRF Token 每随着页面被操作Token 都会改变比如 f5 刷新点击按钮等等都会导致 CSRF Token 变化。而每一个请求的 CSRF Token 会通过后端代码验证 Token 的有效性 ———— 是否正确在时间戳上是否有效如果加密字符串一致且时间未过期那么这个Token就是有效的。以 Java 为例我们介绍一下 CSRF Token 服务端的校验逻辑HttpServletRequest req (HttpServletRequest)request; HttpSession s req.getSession(); // 从 session 中得到 csrftoken 属性 String sToken (String)s.getAttribute(“csrftoken”); if(sToken null) { // 产生新的 token 放入 session 中 sToken generateToken(); s.setAttribute(“csrftoken”,sToken); chain.doFilter(request, response); } else { // 从 HTTP 头中取得 csrftoken String xhrToken req.getHeader(“csrftoken”); // 从请求参数中取得 csrftoken String pToken req.getParameter(“csrftoken”); if(sToken ! null xhrToken ! null sToken.equals(xhrToken)){ chain.doFilter(request, response); } else if(sToken ! null pToken ! null sToken.equals(pToken)){ chain.doFilter(request, response); } else { request.getRequestDispatcher(“error.jsp”).forward(request,response); } }2. 用的较少的限制同源Samesite 是 Set-Cookie 的一种属性它有三个值Strict最为严格完全禁止第三方 Cookie跨站点时任何情况下都不会发送 Cookie。换言之只有当前网页的 URL 与请求目标一致才会带上 Cookie。Set-Cookie: CookieNameCookieValue; SameSiteStrict;Lax规则稍稍放宽大多数情况也是不发送第三方 Cookie但是导航到目标网址的 Get 请求除外。Set-Cookie: CookieNameCookieValue; SameSiteLax;还有一种属性为None这种属性代表关闭了SameSite一般攻击要进行绕过可以尝试将 SameSite 设置为 None这种方法的原理也比较简单因为 CSRF 的本质也是钓鱼比如我通过邮箱发送钓鱼邮件那么这时候的 “源” 就是邮箱界面。如果服务器设置了严格的同源政策将不接收来自邮箱这一 “源” 的请求。ok讲完了常规的防御手段接下来我们聊聊绕过5/ 针对 CSRF Token 与同源政策的绕过手段我们的绕过手段是基于 CSRF Token 或同源政策并不是那么严格的情况下甚至某些时候由于设计的疏忽产生的逻辑漏洞。若非特别提醒以下所有靶场的业务点均处于 **“Update email”**下。1. 将 POST 修改为 GET 请求进行绕过靶场地址 Lab: CSRF where token validation depends on request method)背后逻辑CSRF Token 在 POST 请求当中生效且业务点并非完全限制请求为 POST 请求从而给了攻击者进行绕过的机会。探测方法将 CSRF Token 删掉并将 HTTP 请求修改为 GET 请求。此时的回显为**“Missing parameter ‘csrf’”**我们再将 HTTP 请求修改为 GET 请求观察回显。回显 302代表我们可以用这种方式进行绕过构造 Payload2. 删除 CSRF Token 进行绕过靶场地址 Lab: CSRF where token validation depends on token being present背后逻辑:并没有强验证 CSRF Token 的存在性。我们尝试删除 CSRF Token回显 302在删除掉 CSRF Token 之后生成 POC 即可。3. CSRF Token 未与用户 Session 绑定靶场地址 Lab: CSRF where token is not tied to user session背后逻辑未进行严格的一一身份对应这其实很好理解。举个例子我们登录注册界面实际上是需要去匹配用户名与密码是否相等的而这里的逻辑也是一致。那么这里我可以先修改 Cookie再修改 CSRF Token来观察 CSRF Token 与 Cookie 是否对应了或者说是否绑定了。修改 Cookie 中的 Session 值观察回显为 “Unauthorized”修改 CSRF Token观察回显为 “Invalid CSRF Token”说明 CSRF Token 并未与 session 绑定而是与 csrfKey(也就是 value) 绑定的根据 cookie 的传递性我们可以在其他页面提前把 csrfKey 注入进去这里我们利用img与onerror组合的 XSS 以及 CLRF 技术来构造 CSRF。这里借用梨子师傅的 Poc当受害者点击 CSRF 链接时会先触发 CLRF 注入 Set-Cookie 参数值将 csrfKey 值添加到 Cookie 中然后再用附有与 csrfKey 对应的 CSRF Token 的请求去提交修改邮箱请求。4. 当 Cookie 中的 CSRF 值与 CSRF Token 的值一致时靶场地址 Lab: CSRF where token is duplicated in cookie背后逻辑只是将 CSRF Token 简单复制到 cookie 头中然后仅验证两者是否一致。所以这里我们的绕过 Poc 的核心部分应该是这样的,%0d%0a为也就是 CR 与 LFimg srcurl/?searchtest%0d%0aSet-Cookie:%20csrfjVDOkLRjgEe41xJlURwUeAIcDet4Cier onerrordocument.forms[0].submit();/5. 对不严格的 Referer 限制进行绕过靶场地址 Lab: CSRF with broken Referer validation背后逻辑并没有特别严格地限制 Referer仅仅只是不允许了这一种的 Referer。Referer: 靶场地址.com // 下面是非法的 Referer: baidu.com一般我们通过Referer: baidu.com来判断 Referer 的限制。若Referer: baidu.com被限制则我们可以通过这种方式进行绕过http://attacker-website.com/csrf-attack?baidu.com靶场部分同样是对更改邮箱这个功能点进行 CSRF 攻击这里我们需要介绍一下history.pushState这个函数顾名思义就是插入历史记录的所以这也就是为什么第三个参数的值修改为与攻击链接同源后即可绕过错误地 Referer 头验证机制所以我们这样构造 CSRF 页面。我们先修改 Referer 为 baidu.com 查看回显成功发包。修改 Referer 为baidu.com?laburl回显为 302 成功。构造 Payload将history.pushState的第三个参数修改为 Lab 的 URL 地址。投放之后在 Head 当中添加Referrer-Policy: unsafe-url6/ 小结CSRF 攻击本质上还是一种钓鱼手段本文着重讲了一些 CSRF 攻击的绕过手法说不定渗透的时候多试一试就能起到意想不到的效果。网络安全成长路线图这个方向初期比较容易入门一些掌握一些基本技术拿起各种现成的工具就可以开黑了。不过要想从脚本小子变成hei客大神这个方向越往后需要学习和掌握的东西就会越来越多以下是学习网络安全需要走的方向黑客/网络安全学习路线今天只要你给我的文章点赞我私藏的网安学习资料一样免费共享给你们来看看有哪些东西。网络安全学习资源分享:下面给大家分享一份2025最新版的网络安全学习路线资料帮助新人小白更系统、更快速的学习黑客技术一、2025最新网络安全学习路线一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。我们把学习路线分成L1到L4四个阶段一步步带你从入门到进阶从理论到实战。L1级别:网络安全的基础入门L1阶段我们会去了解计算机网络的基础知识以及网络安全在行业的应用和分析学习理解安全基础的核心原理关键技术以及PHP编程基础通过证书考试可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。L2级别网络安全的技术进阶L2阶段我们会去学习渗透测试包括情报收集、弱口令与口令爆破以及各大类型漏洞还有漏洞挖掘和安全检查项目可参加CISP-PTE证书考试。L3级别网络安全的高阶提升L3阶段我们会去学习反序列漏洞、RCE漏洞也会学习到内网渗透实战、靶场实战和技术提取技术系统学习Python编程和实战。参加CISP-PTE考试。L4级别网络安全的项目实战L4阶段我们会更加深入进行实战训练包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握而L3 L4更多的是通过项目实战来掌握核心技术针对以上网安的学习路线我们也整理了对应的学习视频教程和配套的学习资料。二、技术文档和经典PDF书籍书籍和学习文档资料是学习网络安全过程中必不可少的我自己整理技术文档包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点电子书也有200多本书籍含电子版PDF三、网络安全视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的网安视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。网上虽然也有很多的学习资源但基本上都残缺不全的这是我自己录的网安视频教程上面路线图的每一个知识点我都有配套的视频讲解。四、网络安全护网行动/CTF比赛学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。五、网络安全工具包、面试题和源码“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等感兴趣的同学不容错过。面试不仅是技术的较量更需要充分的准备。在你已经掌握了技术之后就需要开始准备面试我们将提供精心整理的网安面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。如果你是要找网安方面的工作它们绝对能帮你大忙。这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的如果大家有好的题目或者好的见解欢迎分享。参考解析深信服官网、奇安信官网、Freebuf、csdn等内容特点条理清晰含图像化表示更加易懂。内容概要包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

相关文章:

收藏备用!网络安全渗透之 CSRF,一篇让你彻底掌握

1 什么是 CSRF 面试的时候的著名问题:“谈一谈你对 CSRF 与 SSRF 区别的看法” 这个问题,如果我们用非常通俗的语言讲的话,CSRF 更像是钓鱼的举动,是用户攻击用户的;而对于 SSRF 来说,是由服务器发出请求…...

从Qt Creator到你的软件:如何用QDockWidget打造专业级可停靠面板(实战避坑)

从Qt Creator到你的软件:如何用QDockWidget打造专业级可停靠面板(实战避坑) 在开发桌面应用程序时,一个直观、灵活的用户界面往往能极大提升用户体验。许多专业级IDE如Qt Creator和VS Code都采用了可停靠面板的设计,允…...

源地工作室ESP32-S2核心板深度体验:与乐鑫官方DevKitM-1到底有啥区别?

ESP32-S2核心板深度横评:第三方与官方开发板的硬核抉择指南 在物联网设备开发领域,ESP32-S2凭借其出色的性价比和丰富的功能接口,已成为众多开发者的首选芯片平台。面对市场上琳琅满目的开发板选项,特别是第三方厂商推出的兼容板与…...

别再乱设JVM堆大小了!Elasticsearch 8.x 内存配置保姆级避坑指南

Elasticsearch 8.x 内存配置实战:从GC崩溃到性能巅峰的避坑手册 凌晨三点,服务器告警又一次响起。屏幕上的GC日志像瀑布一样滚动,节点频繁脱离集群,查询延迟突破天际——这可能是每个Elasticsearch运维人员都经历过的噩梦时刻。而…...

为什么92%的开发者查不到真正“实时”新闻?Perplexity底层时间戳校验机制首度公开

更多请点击: https://intelliparadigm.com 第一章:为什么92%的开发者查不到真正“实时”新闻?Perplexity底层时间戳校验机制首度公开 当开发者在凌晨三点搜索“React 19 正式发布”,返回结果却显示“发布时间:2024-03…...

模糊PID vs 传统PID:用Simulink仿真对比直流电机控制,结果差距有多大?

模糊PID与传统PID的直流电机控制擂台赛:Simulink仿真深度解析 在工业自动化领域,直流电机控制一直是工程师们关注的焦点。面对复杂的工况变化,传统PID控制器虽然结构简单、易于实现,但在非线性、时变系统中往往表现不佳。而模糊PI…...

Perplexity真实岗位薪资曝光,17城对比+职级换算公式,HR不会告诉你的薪酬锚点

更多请点击: https://codechina.net 第一章:Perplexity真实岗位薪资曝光,17城对比职级换算公式,HR不会告诉你的薪酬锚点 一线数据来源与采样逻辑 本章薪资数据源自2024年Q2匿名技术社区(如Levels.fyi、Blind、脉脉脱…...

Perplexity搜索响应延迟超800ms?揭秘底层向量重排序瓶颈及4种实时优化方案

更多请点击: https://intelliparadigm.com 第一章:Perplexity搜索响应延迟超800ms?揭秘底层向量重排序瓶颈及4种实时优化方案 当Perplexity类RAG系统在高并发场景下出现端到端响应延迟突破800ms时,性能剖析常指向一个被低估的环节…...

在OpenClaw项目中配置Taotoken实现多模型Agent的灵活调用

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在OpenClaw项目中配置Taotoken实现多模型Agent的灵活调用 对于使用OpenClaw框架构建AI Agent的开发者而言,直接接入单一…...

深度解析SacreBLEU:构建机器翻译评估的标准化技术栈

深度解析SacreBLEU:构建机器翻译评估的标准化技术栈 【免费下载链接】sacrebleu Reference BLEU implementation that auto-downloads test sets and reports a version string to facilitate cross-lab comparisons 项目地址: https://gitcode.com/gh_mirrors/sa…...

从Polycam扫描到自定义街道:用3D高斯泼溅碎片‘搭积木’创建虚拟场景的完整流程

从Polycam扫描到自定义街道:用3D高斯泼溅碎片‘搭积木’创建虚拟场景的完整流程 走在城市的街道上,你是否曾想过把那些有趣的街景元素——复古的路灯、造型独特的长椅、枝繁叶茂的行道树——全都数字化,然后像玩乐高一样重新组合成自己理想中…...

5个步骤掌握微信聊天记录永久保存:WeChatMsg完全掌控指南

5个步骤掌握微信聊天记录永久保存:WeChatMsg完全掌控指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/We…...

USB-Disk-Ejector:告别“设备正在使用“烦恼,Windows USB安全弹出终极指南

USB-Disk-Ejector:告别"设备正在使用"烦恼,Windows USB安全弹出终极指南 【免费下载链接】USB-Disk-Ejector A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It …...

taotoken用量看板如何帮助开发者清晰掌握各模型消耗详情

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 taotoken用量看板如何帮助开发者清晰掌握各模型消耗详情 对于使用多个大模型进行开发的团队或个人而言,成本管理是一个…...

昇腾310开发板内存告急?手把手教你在Ubuntu虚拟机上离线转换YOLOv5模型(非root用户避坑指南)

昇腾310开发板内存告急?Ubuntu虚拟机离线转换YOLOv5模型全攻略 当开发者手头只有一块内存有限的昇腾310开发板时,模型转换工作往往会遇到硬件资源不足的困境。本文将详细介绍如何在普通x86架构的Ubuntu虚拟机上,完成YOLOv5模型的离线转换全流…...

保姆级教程:用Node-RED把传感器数据传到ThingsBoard仪表盘(MQTT全流程)

从零构建物联网数据可视化:Node-RED与ThingsBoard的实战融合 在智能家居、工业监测等物联网场景中,如何将物理世界的传感器数据转化为直观的可视化图表?本文将手把手带您完成从硬件数据采集到云端展示的完整链路实现。不同于单纯的理论讲解&a…...

OpenAI智能体框架实战:从单智能体到多智能体协作系统构建

1. 项目概述:当AI学会“分工协作”最近在折腾AI应用开发的朋友,估计没少为“智能体”(Agent)这个概念挠头。一个能理解指令、调用工具、并自主完成复杂任务的AI程序,听起来很酷,但真要从零开始搭建一套稳定…...

PyTorch模型调优第一步:用TorchSummary分析参数量与计算开销(以CNN/Transformer为例)

PyTorch模型调优第一步:用TorchSummary分析参数量与计算开销(以CNN/Transformer为例) 在深度学习项目从实验阶段走向生产部署的过程中,模型效率往往成为决定成败的关键因素。当我们完成模型架构设计后,第一个需要回答的…...

从‘秦皇岛今天晴空万里’到HMM:一文搞懂NLP分词中的序列标注到底在标什么

从天气报告到智能分词:解码序列标注在NLP中的魔法 秦皇岛的晴空万里不仅是气象术语,更是理解自然语言处理(NLP)中序列标注技术的绝佳入口。当我们看到"秦皇岛今天晴空万里"这行文字时,人脑能瞬间将其分解为有意义的词汇单元&#x…...

书匠策AI论文生存指南:降重降AIGC,2025届毕业生的“反内卷外挂“

🎬 开场:一场关于"论文能不能活着毕业"的生存实验 朋友们,今天咱不开学术讲座,咱开一场生存发布会。 2025年写毕业论文是什么体验?你辛辛苦苦码了两万字,满怀信心点了查重——好家伙&#xff0…...

联发科天玑700/720/900核心板选型指南:5G物联网与智能硬件性能功耗全解析

1. 项目概述:从核心板选型看5G入门级应用的性能锚点 在嵌入式开发和智能硬件领域,选择一颗合适的核心板(Core Board)往往是项目成败的第一步。它集成了处理器、内存、基带、射频等核心部件,直接决定了产品的性能基线、…...

用Python和罗技驱动DLL实现《穿越火线》红名自动检测与开枪(保姆级避坑指南)

Python游戏自动化开发实战:基于颜色识别的智能交互系统设计 在数字娱乐领域,自动化技术正悄然改变着用户的交互体验。本文将深入探讨如何利用Python构建一套安全、高效的屏幕元素识别与自动化交互系统,重点解析颜色识别算法的核心实现与硬件接…...

从Stable Diffusion到DALL-E 3:深入聊聊Diffusion Model里‘前向过程’的设计哲学与工程权衡

从Stable Diffusion到DALL-E 3:扩散模型前向过程的设计哲学与工程智慧 当你在MidJourney中输入一段文字描述,几秒后就能得到一张精美的图片,这背后隐藏着一场精心设计的"破坏与重建"游戏。扩散模型(Diffusion Model&…...

FPGA验证核心:Vivado中功能与代码覆盖率的实战指南

1. 项目概述:为什么验证是FPGA开发的重中之重? 如果你刚接触FPGA开发,可能会觉得写代码(HDL)是最核心、最花时间的部分。但等你真正上手几个项目,尤其是那些需要流片或者部署到关键系统的项目后&#xff0c…...

黑苹果配置复杂化挑战:OCAT跨平台管理工具的智能化解决方案

黑苹果配置复杂化挑战:OCAT跨平台管理工具的智能化解决方案 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore(OCAT) 项目地址: https://gitcode.com/gh_mirrors/oc/OCAuxiliaryTools 面对日益复杂…...

播客内容找不到源头?Perplexity深度索引机制解析,7类冷门播客源自动唤醒术

更多请点击: https://codechina.net 第一章:播客内容找不到源头?Perplexity深度索引机制解析,7类冷门播客源自动唤醒术 Perplexity 的播客内容发现能力并非依赖传统 RSS 聚合或平台 API 抓取,而是通过其自研的深度索引…...

从总线到片上网络:高性能SoC互连架构演进与实战解析

1. 从“堵车”的总线到“高速公路网”:为什么我们需要NoC?记得我刚入行做芯片设计那会儿,一个SoC里塞进去几十个IP模块,大家共用一条总线,感觉已经挺“先进”了。那时候的芯片,就像一个小镇,只有…...

LLMs 的新前沿:挑战、解决方案与工具

原文:towardsdatascience.com/the-new-frontiers-of-llms-challenges-solutions-and-tools-b1d48c34cf8e?sourcecollection_archive---------2-----------------------#2024-01-25 https://towardsdatascience.medium.com/?sourcepost_page---byline--b1d48c34cf8…...

Illustrator批量替换脚本终极指南:5分钟掌握高效设计自动化

Illustrator批量替换脚本终极指南:5分钟掌握高效设计自动化 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 你是否曾经在Adobe Illustrator中花费数小时手动替换数十个甚…...

基于Next.js与Shadcn/ui的现代Web仪表盘开发实战指南

1. 项目概述与核心价值 最近在折腾一个开源项目,叫 openclaw-dashboard ,是 anis-marrouchi 大佬在 GitHub 上开源的一个仪表盘项目。光看名字,你可能会觉得这又是一个平平无奇的“又一个仪表盘”,但实际深入把玩之后&#x…...