- 博客(1102)
- 收藏
- 关注
原创 The PDF.js used by RAGFlow contains a code injection vulnerability
RAGFlow, an open-source Retrieval-Augmented Generation (RAG) engine developed by Infiniflow, is designed for deep document understanding and scalable question-answering solutions. It boasts a highly active community with over 50,000 stars and 250 contribut
2025-05-18 16:48:11
481
2
原创 【甲方安全建设】Python 项目静态扫描工具 Bandit 安装使用详细教程
Bandit是一款由Python官方推荐的静态代码分析工具(SAST),专为检测Python代码中的安全漏洞设计。它基于抽象语法树(AST)分析代码逻辑,内置超过60条安全规则,覆盖OWASP Top 10和CWE等常见风险,如命令注入、敏感数据泄露和不安全的反序列化。Bandit支持灵活的扫描配置,可按严重等级和可信度过滤结果,并可通过配置文件自定义规则。它适用于多种场景,包括扫描单个文件、整个项目目录,以及集成到CI/CD工具中,提供多种输出格式便于报告生成。Bandit轻量且社区活跃,通过pip直接安
2025-05-18 15:53:08
71
原创 【甲方安全建设】拉取镜像执行漏洞扫描教程
本文介绍了如何使用 Veinmind 工具对 Ragflow 项目进行本地镜像安全扫描。首先,文章解释了 Docker 镜像的基本概念,包括镜像的组成、标签(tag)的作用以及如何查看本地和远程仓库的镜像标签。接着,文章对比了构建镜像和拉取镜像的区别,并详细说明了拉取 Ragflow 镜像的步骤。随后,文章介绍了如何安装 Veinmind 工具,包括直接拉取官方镜像或从源码构建的方式。最后,文章演示了如何使用 Veinmind 工具对本地镜像进行安全扫描,并生成不同格式的扫描报告。整个过程涵盖了从镜像拉取到
2025-05-18 15:29:31
70
原创 RAGFlow Arbitrary Account Takeover Vulnerability
RAGFlow, an open-source Retrieval-Augmented Generation (RAG) engine developed by Infiniflow, is designed for deep document understanding and scalable question-answering solutions. Despite its popularity, with over 50,000 stars and 250 contributors on GitHu
2025-05-17 22:42:20
554
原创 【AI基础设施安全检测工具】AI Infra Guard安装使用详细说明
AI Infra Guard 是腾讯朱雀实验室开发的一款轻量化、智能化的 AI 基础设施漏洞发现与 MCP Server 安全风险扫描工具。该工具具备全面的安全检测能力,支持 9 类 MCP 常见安全风险检测和 28 种 AI 组件框架识别,覆盖 200+ 漏洞指纹。其智能易用的功能体验由 AI Agent 驱动,支持 GPT-4 等大语言模型的代码安全分析,并提供 Web 界面可视化操作。工具设计轻量,跨平台支持 Windows、MacOS、Linux 系统。
2025-05-16 15:14:24
112
原创 群晖NAS部署PlaylistDL音乐下载器结合cpolar搭建私有云音乐库
PlaylistDL音乐下载器是一款开源工具,支持从Spotify和YouTube等平台下载音乐,并转换为MP3格式。用户可以通过Docker在群晖NAS上部署该工具,搭建私人音乐库。PlaylistDL提供用户友好的网页界面,支持会话管理、管理员模式、实时进度条、自动清理等功能,下载的音乐按艺术家和专辑分类,便于管理。此外,通过Cpolar工具,用户可以为PlaylistDL创建公网地址,实现异地访问。Cpolar支持临时随机TCP端口和固定TCP地址,后者适合长期使用,提供更稳定的访问体验。
2025-05-15 13:59:20
846
6
原创 MAZANOKE图像优化器本地Docker部署与随时随地远程使用
在全民摄影时代,手机和电脑中的照片占据了大量存储空间。为了解决这一问题,本文介绍了MAZANOKE图像优化器,它可以在保持图片质量的同时大幅压缩文件大小,支持多种格式且所有处理均在本地完成,确保隐私安全。文章详细讲解了如何在Ubuntu 22.04系统上通过Docker部署MAZANOKE,并利用cpolar内网穿透工具实现远程访问。通过配置固定公网地址,用户可以随时随地访问和使用MAZANOKE,享受高效便捷的图片处理体验。
2025-05-12 18:48:05
590
6
原创 监控系统进阶方案:OpenObserve的Docker部署与远程访问配置指南
今天,我想分享一个在云原生可观测性领域备受关注的开源项目——OpenObserve。在复杂的云原生环境中,快速定位和解决服务故障至关重要。传统的监控和日志分析工具往往面临性能瓶颈和高昂的成本问题。如果能够找到一种高性能、可扩展且经济高效的解决方案,将极大地提升运维效率。OpenObserve 旨在提供一种全新的可观测性平台,它能够处理大规模的数据流,并提供强大的查询和分析功能。通过OpenObserve,运维团队可以更快地发现问题、诊断根本原因并优化系统性能。
2025-05-08 16:20:25
1073
7
原创 开源影音方案LibreTV:基于Docker构建本地免费影音平台与远程访问
周末了,你是不是也想在沙发里蜷成一团,找部电影放松一下?但是,每每这个时候,总被各种付费订阅的门槛绊住脚跟,或者在网上寻找免费资源时,不小心点进了一个“五彩斑斓”的广告页面。好不容易找到个能看的链接,结果还得忍受无尽的缓冲和卡顿。这年头,想舒舒服服地看个电影咋就这么难呢?别急!今天笔者就来拯救你了!给大家介绍一款开源神器——LibreTV,不仅能让你摆脱付费订阅的束缚,还能享受高清、流畅、安全的观影体验。废话不多说,咱们直接上教程!
2025-04-28 17:26:05
2290
7
原创 【前后端分离项目】Vue+Springboot+MySQL
由于使用 Maven 构建项目,因此需要在 pom.xml 中引入 mysql-connector-java 依赖。通过此流程,无需直接访问 http://localhost:8080/api/ice,仅需访问 http://localhost:5173/ 即可获取数据。在实际项目中,还需要实现后端与数据库的联动,例如用于注册、登录等功能。
2025-04-26 20:08:02
1390
4
原创 【网络安全】发现并披露全球最大航空公司平台的安全问题(二)
在向 points.com 团队提交最后的报告后,我们的发现使我们能够访问全球大部分奖励计划的客户信息,代表客户转移积分,最终还可以访问全球管理面板。我们已将所有问题报告给了 points.com 安全团队,他们非常快速地修复了这些问题,并与我们一起进行这个披露。这篇博客文章,以及我们其他的研究(如接管十多个顶级域名,能够远程解锁、定位并有时禁用多个不同汽车制造商的车辆),展示了一个高影响力问题研究的主题,即我们可以利用单点故障产生广泛的影响。
2025-04-25 14:16:06
529
原创 零基础快速搭建低代码开发平台ToolJet与远程在线访问全攻略
每次提到要上手新应用,是不是感觉就像面临了一场大考?环境配置的头疼、编码过程的漫长,还有调试时层出不穷的‘惊喜’,简直让人想要扔鼠标。别急!今天我要向你介绍一款拯救技术小白的利器——低代码开发平台ToolJet。有了它,你就能告别繁琐操作,轻松变成技术圈里的高效率达人,让我们一起开启一段充满乐趣的技术之旅吧!
2025-04-24 20:10:42
1050
6
原创 【甲方安全建设】硬编码敏感字段扫描工具(附源码)
敏感硬编码扫描工具是一款用于检测项目文件中硬编码敏感信息的安全工具,旨在防止敏感信息泄露带来的安全风险。该工具通过配置敏感词和正则表达式匹配模式,扫描指定目录或文件中的潜在敏感信息,并生成HTML或CSV格式的扫描报告。工具的文件结构包括主程序、报告导出模块、正则模式处理模块及配置文件。用户可通过命令行启动扫描,并自定义敏感词和正则表达式规则。工具支持生成详细的扫描报告,便于开发人员快速定位和处理敏感信息泄露问题。
2025-04-24 14:25:23
203
原创 【网络安全】发现并披露全球最大航空公司平台的安全漏洞(一)
更令人惊喜的是,Points.com 对安全研究持开放态度,官方甚至明确表示欢迎提交漏洞报告,这为我们的探索提供了充分的正当性和价值空间。在 GitHub 上搜索了一番,并花了数小时翻阅与 Points.com 相关的文档后,我们意外发现了一个专门面向奖励计划开放的 API,它部署在名为 lcp.points.com 的子域名下。在查阅公开代码仓库的过程中,我们偶然发现了这套 API 的接口文档链接——虽然该文档早已从官网下架,但幸运的是,我们在 archive.org 上找到了其归档备份。
2025-04-24 14:18:23
296
原创 新手友好型网站搭建方案:1Panel与Halo构建个人网站的快速部署
各位技术爱好者,你是否觉得服务器管理和网站搭建是一项艰巨的任务?别担心,今天我们将带你进行一次轻松的技术之旅,使用1Panel管理面板和Halo博客系统,让你轻松应对这些挑战。无论你是技术新手还是经验丰富的开发者,这份详细指南都能帮助你在技术领域自由探索。我们将一步步地演示如何利用这些工具搭建和管理你的网站,让你在技术海洋中畅游无阻。快跟上节奏,一起开启这场充满惊喜和挑战的冒险吧!【视频教程】飞牛云fnOS安装1Panel管理面板与本地搭建Halo网站一键发布公网详细教程。
2025-04-21 18:42:40
1061
6
原创 开源一体化白板工具Drawnix本地部署打造毫秒级响应的远程协作空间
想象一下,你是一个创意满满的设计师,脑海中涌现出无数灵感火花。你急忙打开电脑,想要将这些想法快速记录下来。然而,你却发现自己需要在不同的软件之间切换,一会儿打开思维导图软件,一会儿打开流程图工具,一会儿又需要用绘图软件来绘制草图。这频繁的切换不仅打断了你的思路,还浪费了宝贵的时间和精力。更糟糕的是,当你终于完成一个图表或草图时,却发现想要与团队成员分享协作变得异常困难。是不是觉得很痛苦?其实,很多朋友都面临着类似的问题。
2025-04-17 19:12:44
1413
9
原创 【网络安全】谁入侵了我的调制解调器?(一)
由于这些域名数量庞大,格式一致,并明显具有算法生成的特征,他们推测这些域名很可能是恶意软件使用的 DGA(域名生成算法)。这种技术通常用于不断变化 C&C(指挥控制)服务器的域名,以避开检测和封锁。
2025-04-16 09:18:43
304
2
原创 【网络安全】谁入侵了我的调制解调器?(二)
在向Cox报告漏洞后,他们调查了这个特定的漏洞是否曾经被恶意利用,并发现没有滥用的历史(我发现漏洞的服务在2023年上线,而我的设备在2021年就已经被攻破)。他们还告诉我,他们与DigitalOcean IP地址没有任何关联,这意味着设备肯定被黑客攻击了,但并不是通过我在这篇博客中披露的方法。我仍然非常好奇我的设备是如何被攻破的,因为我从未让我的调制解调器在外部可访问,也没有在我的家庭网络中登录该设备。
2025-04-16 09:18:24
431
原创 Linux服务器远程ssh连接加速指南:这几个配置优化让你瞬间提速
通过一系列优化步骤和内网穿透技术(比如cpolar),你的本地内网Linux服务器远程连接速度将大幅提升,稳定性也会更上一层楼。本文不仅涵盖了服务器端和客户端的各种调整方法,还提供了不少高级技巧,希望能让你在优化性能的同时,也能确保SSH服务器的安全性。
2025-04-14 17:14:31
1845
8
原创 【网络安全】通过 JS 寻找接口实现权限突破
有趣的是,这次用于验证一次性访问令牌的HTTP请求,仍然是发送到此前owners.kia.com使用的同一个URI:/apps/services/kdealer/apigwServlet.html,不过这次是通过Kia Connect经销商站点发出的。我们使用第三方API将车牌号转换为VIN后,接管按钮会执行四个步骤来接管受害人的车辆,首先通过登录表单生成经销商令牌,然后从受害人账户中获取邮箱和电话号码,接着将账户所有者降级为账户持有者,最后将我们自己添加为主账户持有者。说不定就能拿到我们需要的权限。
2025-04-14 09:43:04
626
原创 【网络安全】账户注册中存在的逻辑问题
Hacker 可以在注册时填写自己的邮箱地址,但输入 Victim 的手机号;倘若连这种基础验证逻辑都能出现如此低级的设计问题,不禁令人担忧,还有多少其他网站 —— 尤其是那些处于子域名下、无人维护的模块 —— 可能也同样潜藏着类似的隐患?在这种情境下,Hacker 可以成功完成注册,并将 Victim 的联系方式绑定至自己的账户中 —— 而 Victim 对此全无察觉。同理,反向操作亦可行:Hacker 填写 Victim 的邮箱与自己的手机号,再使用自己手机收到的 OTP 完成验证。
2025-04-14 08:58:12
53
2
原创 【区块链安全 | 第四十篇】合约审计之delegatecall(二)
虽然执行的是库合约中的代码,但由于使用的是 delegatecall,所以代码是在 HackMe 合约的上下文中执行的,也就是说修改的是 HackMe 合约自身的存储槽。假设上面这段代码的 _someUserInput 是用户传进来的地址,此时攻击者可以传一个他部署的恶意合约地址进来,然后通过 delegatecall,在你的合约中执行他的恶意代码,直接改写你合约里的变量,比如 owner、余额等。当涉及 storage 变量的修改时,变量的赋值是基于存储插槽的位置(slot)而不是变量名进行的。
2025-04-12 21:27:51
1169
3
原创 【区块链安全 | 第三十九篇】合约审计之delegatecall(一)
1.当合约 B 使用 call 调用合约 A 的外部函数时,调用发生在合约 A 的上下文中,返回的结果来自合约 A 执行后的值,且不会影响合约 B 的存储。调用时,合约 B 的状态不会受到影响。2.当合约 B 使用 delegatecall 调用合约 A 的函数时,执行发生在合约 B 的上下文中,且所有的存储操作都会影响 B 合约的状态而非 A 合约。因此,B 合约的地址被赋值给了 a,而 A 合约的数据保持不变。
2025-04-12 18:39:37
857
原创 【网络安全】Linux 命令大全
cat:连接并显示文件内容chattr:更改文件的属性chattr [+/-=]属性 文件名chgrp:更改文件的所属用户组chgrp 组名 文件名chmod:更改文件的权限chmod 权限 文件名chown:更改文件的所有者和所属组chown 用户[:组] 文件名cksum:计算文件的 CRC 校验和cksum 文件名cmp:逐字节比较两个文件cmp 文件1 文件2diff:比较两个文件内容差异diff 文件1 文件2diffstat:统计 diff 输出的变化信息diffstat 文件名。
2025-04-10 18:36:22
397
3
原创 【网络安全 | 项目开发】Web 安全响应头扫描器(提升网站安全性)
安全响应头是防止常见 Web 攻击(如点击劫持、跨站脚本攻击等)的有效防线,因此合理的配置这些头部信息对任何网站的安全至关重要。Web 安全响应头扫描器(Security Headers Checker)是一款专为提升网站基础安全性而设计的安全合规工具。它能够自动检测目标网站是否配置了关键的 HTTP 安全响应头,从而帮助开发者提高网站的整体安全性,并减少潜在的攻击面。
2025-04-10 18:22:44
217
原创 办公效率翻倍!轻量级图片文档处理工具Reubah一键部署远程使用
遇到图片或文档处理问题时总让人头疼不已,比如,你是不是经常因为平台的上传限制而抓狂?好不容易做好的封面图一传上去就‘文件过大’;或者想把Word文档转换成其他格式,网上那些工具要么贵得离谱,要么操作复杂还让人心惊胆战地担心数据安全问题?别怕,今天给大家安利一款专治各种文件烦恼的神器——Reubah!有了它,这些问题都将成为过去式。想象一下,在自己的本地Linux服务器上运行一个强大的图片与文档处理工具,是不是既方便又安心呢?
2025-04-10 17:10:44
901
5
原创 【区块链安全 | 第三十八篇】合约审计之获取私有数据(二)
从上述 Vault 合约代码可以看出,合约将用户的敏感信息(如用户名与密码)直接存储在链上。尽管使用了 private 关键字对变量进行了访问限制,但在区块链中,所有合约数据都是公开可见的。private 仅限制了其他合约或外部账户通过函数调用访问变量的能力,但无法阻止任何人通过读取链上存储数据(storage)来获取这些信息。
2025-04-08 22:37:16
1109
2
原创 【区块链安全 | 第三十七篇】合约审计之获取私有数据(一)
尽管地址看起来相同,但由于本地环境与主网并不共享状态,脚本实际读取的是主网上该地址的存储数据,而不是我们本地部署的合约数据。因此返回的是 0x0,而不是我们在本地设置的值。为了解决这一问题,Solidity 选择将长度单独存储在 slotA,而将实际的数据映射到从 keccak256(slotA) 开始的一段存储空间中,以避免与其他变量产生冲突,并实现灵活的数据扩展。需要注意的是,memory 中的数据不会被写入区块链,修改它也不会影响链上的状态,因此它适合用于函数内部的逻辑处理而非持久化存储。
2025-04-08 21:42:15
1079
原创 【网络安全 | 漏洞挖掘】通过分析JS文件实现接口未授权访问与账户接管
为了确保我没有遗漏什么,我联系了一位朋友,问她是否可以“黑”掉她的车,以证明我们可以完全接管车辆。汽车行业的特殊性在于,一个来自德州的18岁员工,可以查询到加州某辆车的账单信息,而这并不会引起任何警觉,这是他们的日常工作内容之一。换句话说,如果这个接口确实按这段 JavaScript 的逻辑运行,那攻击者只需要知道某位员工的邮箱地址,就可以重置其密码,直接接管账号。结合我以前在其他车企挖洞的经验,我知道很多时候员工端系统的权限远比用户端大得多,而且这些系统有时会暴露在公网,或存在配置不当的问题。
2025-04-08 18:41:21
588
1
原创 【项目开发 | 含源码】文件内容去重+提取特定 JSON 数据+编码解码工具
一个简单的去重工具,适用于需要去除文件中重复行并保留原始顺序的场景:提取特定 JSON 数据从一个包含多个 JSON 对象的文件中提取指定的数据,并将这些数据写入到一个新的文本文件中。以下源码逻辑为:对于 test.json 的 items 列表中的每一个字典对象,提取其中的 name 和 mail 字段。如果这些字段存在,就将它们按行写入到 1.txt 文件中,每行一个字段(先是 name,再是 mail)。编码解码工具基于网页的小功能工具,包含时间戳转换、Base64 编解码、URL 编解码。
2025-04-08 15:02:33
15
原创 【区块链安全 | 第三十六篇】合约审计之自毁函数
使用 call 函数进行转账容易发生重入攻击,因为 call 是低级函数,call 在执行后会执行目标地址(msg.sender)的 fallback 或 receive 函数,即将控制权交给目标合约。自毁函数可以帮助他们在这种情况下有序地结束合约,并将合约中的资产转移到合适的地方,如转移到新的合约或项目中,或者返还给相关的用户或投资者。例如,一个记录用户交易历史的智能合约,随着时间的推移,早期的一些交易记录可能对于当前的业务逻辑来说已经不再重要,但它们仍然占据着链上的存储空间。
2025-04-08 09:36:53
1231
1
原创 【区块链安全 | 第三十五篇】溢出漏洞
1.部署 TimeLock 合约2.部署 Attack 合约3.在 Attack 合约的构造函数中传入已部署的 TimeLock 合约地址,完成初始化。4.调用 Attack.attack 函数在attack函数中,首先调用 TimeLock.deposit 向合约中存入 1 个以太币(或任意数量的 ETH)。此时,TimeLock 会将该 ETH 锁定一周,即设置 lockTime[msg.sender] = block.timestamp + 1 weeks。
2025-04-07 22:19:16
1234
1
原创 远程下载不求人:fnOS+MediaGo打造私人视频库完整教程
今天给大家分享一款开源下载神器——MediaGo!这款软件简直是为懒人和小白量身打造的,不仅支持Windows、Mac和Linux系统,还在GitHub上免费开源。无需安装插件或抓包,一键Docker部署到NAS上,让电脑彻底解放,享受低功耗带来的便利。接下来就以fnOS飞牛云NAS为例,带你一步步轻松搞定MediaGo本地部署,并结合cpolar内网穿透工具实现远程连接,从此随时随地下载心仪视频不再是梦!
2025-04-07 20:22:28
1339
7
原创 【区块链安全 | 第三十四篇】合约审计之重入漏洞
1.攻击者首先调用 attack(),并向 EtherStore 合约发送 1 ETH。2.然后,Attack 合约将这 1 ETH 存入 EtherStore 合约。由于在 EtherStore 合约提款时,余额需大于0,因此需提前存入 1 ETH 满足提款条件,进而触发下文的第4点。3.紧接着,攻击者调用 Attack 合约中的 withdraw(),从 EtherStore 提取资金。
2025-04-07 19:38:49
1048
原创 【区块链安全 | 第三十三篇】备忘单
声明该函数、修饰符或公共状态变量修改了基合约中的行为。返回当前交易中第 index 个 blob 的版本化哈希。该哈希由一个版本字节(当前为 0x01)和 KZG 承诺的 SHA256 哈希的后 31 字节组成(见 EIP-4844)。若该索引不存在对应 blob,则返回 0。
2025-04-07 16:02:10
1163
原创 【区块链安全 | 第三十二篇】内联汇编
此外,我们需要意识到,Solidity 中动态数组的默认值指向内存偏移量 0x60,因此,在暂时改变内存偏移量 0x60 的值时,我们将无法依赖读取动态数组时获得准确的长度值,直到我们恢复了 0x60 的零值。在内联汇编中,我们可以访问这些变量的内存地址,修改它们的值时需要特别小心,因为赋值操作只会更改指针地址,而不会直接改变数据。1.在汇编块结束时,空闲内存指针(偏移量为 0x40)恢复到一个合理的值(即,它要么恢复到原始值,要么因为手动内存分配而有所增加),并且偏移量 0x60 处的内存字恢复为零值。
2025-04-07 15:15:19
826
原创 【区块链安全 | 第三十一篇】合约(五)
这意味着,当调用库中的函数时,代码将在调用合约的上下文中执行,即 this 指向的是调用合约,特别是调用合约的存储会被访问。为了在 EVM 中实现这一点,所有从合约中调用的内部库函数以及所有从库中调用的函数,都将在编译时包含在调用合约中,并通过常规的 JUMP 调用,而不是 DELEGATECALL。如在介绍中所提到的,如果库的代码使用 CALL 而不是 DELEGATECALL 或 CALLCODE 执行,则除非调用的是 view 或 pure 函数,否则将会回退(revert)。
2025-04-07 11:29:47
1183
2
原创 【区块链安全 | 第三十篇】合约(四)
在这种情况下,当另一个合约继承时,继承列表或构造函数必须为所有尚未提供参数的基类提供所需的参数,否则该合约也必须声明为抽象合约。一种简化的方式来理解这一点是,当调用一个在多个合约中多次定义的函数时,Solidity 会从右到左(Python 中是从左到右)深度优先地搜索给定的基合约,直到找到第一个匹配的函数。当多个基合约定义了相同的虚拟函数时,派生合约可以选择性地重写这些函数,提供不同的实现方式。修饰符的重写是通过 override 关键字实现的,允许派生合约修改父合约中的修饰符行为,以适应不同的需求。
2025-04-07 11:25:22
995
原创 【区块链安全 | 第二十九篇】合约(三)
在 Solidity 中,自定义错误提供了一种节省 gas 的方式,能够方便地向用户解释操作失败的原因。错误可以在合约内部或外部(包括接口和库)定义。自定义错误必须与 revert 语句或 require 函数一起使用。当 revert 语句或 require 判断条件为 false 时,当前调用中的所有更改都会被回滚,并且错误数据将被返回给调用者。/// 转账时余额不足。需要 `required`,但只可用 `available`。/// @param available 当前可用余额。
2025-04-07 11:16:48
999
原创 【区块链安全 | 第二十八篇】合约(二)
合约可以使用布局说明符来定义其存储的任意位置。合约的状态变量,包括从基类继承的变量,将从指定的基础槽(base slot)开始,而不是默认的零槽。uint[3] x;// 占用槽 0xAABB..0xAABD如上例所示,布局说明符使用 layout at 语法,并位于合约定义的头部。布局说明符可以放在继承说明符之前或之后,并且最多只能出现一次。base-slot-expression 必须是一个整数文字表达式,可以在编译时求值,并且生成一个位于 uint256 范围内的值。
2025-04-07 09:46:59
1146
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人