- 博客(1058)
- 收藏
- 关注
原创 【区块链安全 | 第二十四篇】单位和全局可用变量(二)
然而,当 selfdestruct 在同一交易中被调用,并且创建了调用它的合约时,selfdestruct 会遵循 Cancun 硬分叉之前(即 EVM <= Shanghai)的行为,仍然会销毁当前合约,删除所有数据,包括存储键、代码和合约本身。通常,这是合约 C 的构造函数部署的代码。.call(bytes memory) returns (bool, bytes memory) 进行低级 CALL,带有给定的有效载荷,返回成功状态和返回数据,转发所有可用的 gas,可以调节。
2025-03-31 21:37:48
647
1
原创 【区块链安全 | 第二十三篇】单位和全局可用变量(一)
1.这些单位在日历计算中可能会导致误差,因为一年不总是 365 天,甚至一天也不总是 24 小时(例如由于闰秒的影响)。2.由于闰秒无法预测,要实现精准的日历计算,需要使用外部预言机(oracle)提供更新的时间数据。以下关键字在 Solidity 中是保留的。单位在 Solidity 0.5.0 版本中被移除,原因同上。作为后缀,指定以太的子单位。这些单位的后缀只是对数字进行以 10 为底的幂次乘法。作为后缀,指定时间单位。这些单位的基础单位是。在 Solidity 中,数字字面量可以使用。
2025-03-31 21:10:34
261
原创 【区块链安全 | 第二十二篇】类型之字面量和基础类型之间的转换
十六进制数字面量可以隐式转换,但前提是十六进制数字的数量恰好符合字节类型的大小。注意:在 0.8.0 版本之前,所有的十进制或十六进制数字面量都可以显式转换为整数类型。从 0.8.0 开始,显式转换的规则与隐式转换一样严格,即只有当字面量的值适合目标类型的范围时,才允许转换。注意:在 0.8.0 版本之前,可以将任何整数类型(无论大小或符号)显式转换为地址或可支付地址。如在地址字面量中所述,符合大小且通过校验和测试的十六进制字面量属于地址类型。其他任何字面量都不能隐式转换为地址类型。显式转换为可支付地址(
2025-03-31 21:03:09
152
原创 【区块链安全 | 第二十一篇】类型之基础类型之间的转换
由于整数和固定大小字节数组在截断或填充时的行为不同,只有在它们的大小相同的情况下,才允许整数和固定大小字节数组之间的显式转换。此操作可能会导致意外行为,并且允许绕过编译器的一些安全特性,因此必须确保结果符合你的预期,并进行充分的测试!一般来说,当值类型之间的隐式转换是语义上合理的且没有信息丢失时,才会发生。如果对不同类型的操作数应用运算符,编译器会尝试将其中一个操作数隐式转换为另一个操作数的类型(赋值时也是如此)。如果将固定大小的字节类型显式转换为较大的类型,则会在右侧进行填充。因此,在加法执行之前,
2025-03-31 20:59:54
724
原创 【区块链安全 | 第二十篇】类型之运算符
如果其中一个操作数是字面量数字,它首先会转换为其“移动类型”,即可以容纳该值的最小类型(相同位宽的无符号类型被认为比有符号类型更小)。如果两个操作数都是字面量数字,则运算会使用实际所需的无限精度进行计算,以确保在结果与非字面量类型一起使用时不会丢失精度。因此,如果删除一个结构体,它会重置所有非映射的成员,并且会递归地重置成员,除非成员是映射类型。结果类型根据两个操作数的类型确定,首先如果需要则转换为它们的“移动类型”。运算符的结果类型与执行运算的类型相同,比较运算符的结果类型总是。类型,这会导致加法也在。
2025-03-31 20:56:42
750
原创 【区块链安全 | 第十九篇】类型之映射类型
映射只能有存储数据位置,因此只能作为状态变量、作为函数中的存储引用类型,或者作为库函数的参数。你可以将映射看作哈希表,它在内部初始化,每个可能的键都会映射到一个值,该值的字节表示是全零,即类型的默认值。你可以将映射类型的状态变量标记为公共的,Solidity 会为你自动创建一个 getter。由于这个原因,映射没有长度或键值是否已设置的概念,因此无法在没有额外信息的情况下删除映射。其他用户定义的复杂类型,如映射、结构体或数组类型是不允许的。也是有效的),它们可以是任何有效的标识符,但不能是类型。
2025-03-31 20:48:23
382
原创 【区块链安全 | 第十八篇】类型之引用类型(二)
需要注意的是,结构体不能包含其自身类型的成员,尽管结构体可以作为映射成员的值类型,或者可以包含其类型的动态大小数组。这一限制是必要的,因为结构体的大小必须是有限的。结构体类型可以在映射和数组中使用,结构体本身也可以包含映射和数组。在 Solidity 0.7.0 及之前的版本,允许内存结构体包含存储类型的成员(如映射),并且像上例中的。数组切片没有类型名称,这意味着没有变量可以将数组切片作为类型,它们仅存在于中间表达式中。当然,你也可以直接访问结构体的成员,而不必将其分配给局部变量,就像。
2025-03-31 20:34:08
366
原创 【区块链安全 | 第十七篇】类型之引用类型(一)
这与值类型形成对比,在值类型中,每当使用一个值类型的变量时,都会获得一个独立的副本。如果使用引用类型,必须明确提供数据存储的位置:memory(其生命周期仅限于外部函数调用期间)、storage(存储状态变量的位置,其生命周期与合约的生命周期一致)或 calldata(一个特殊的数据存储区域,其中包含函数参数)。在 0.6.9 版本之前,外部函数的引用类型参数数据存储位置仅限于 calldata,公共函数为 memory,内部和私有函数则可以是 memory 或 storage。
2025-03-31 20:26:46
718
原创 本地搭建Moredoc私人文档系统并配置HTTPS远程访问高效整理知识碎片
小伙伴们,是不是经常被电脑里那些文件夹中海量的文档搞得晕头转向?每次想找点资料,都像是参加了一场寻宝行动。别担心,今天我要给大家介绍一款宝藏开源软件魔豆文库(Moredoc)!它不仅能让你的文件管理变得有条不紊,还能让你在线翻阅各种格式的文档如同翻书一样简单。想象一下,拥有一个私人版‘某度文库’的感觉吧?无论你是IT新手还是老司机,跟我一起开启这段Ubuntu系统下Docker部署Moredoc的实战之旅吧!【视频教程】1分钟搭建超好用的开源文档管理系统魔豆文库。
2025-03-31 19:09:51
1231
4
原创 【区块链安全 | 第十六篇】类型之值类型(三)
虽然被引用的函数可能会发生变化或消失,但直接的外部调用将受到相同的影响,因此在这种使用方式下没有额外的风险。当且仅当函数类型 A 和函数类型 B 的参数类型、返回类型、内部/外部属性相同,并且 A 的状态可变性比 B 更严格时,函数类型 A 可以隐式转换为函数类型 B。如果在 Solidity 的上下文之外使用外部函数类型,它们会被视为函数类型,该类型将地址和函数标识符一起编码在一个单一的 bytes24 类型中。函数类型的变量可以通过函数进行赋值,函数类型的参数可以用来传递函数并返回函数。
2025-03-30 11:33:00
916
原创 【区块链安全 | 第十五篇】类型之值类型(二)
用户定义值类型允许对基本值类型进行零成本抽象。这类似于别名,但具有更严格的类型要求。用户定义值类型使用来定义,其中C是新类型的名称,V必须是内置的值类型(“基础类型”)。C.wrap函数用于将基础类型转换为自定义类型。类似地,C.unwrap函数用于将自定义类型转换回基础类型。C类型没有任何操作符或附加的成员函数,特别是==操作符未定义。显式和隐式的类型转换到其他类型或从其他类型转换是不允许的。这些类型的值的数据表示继承自基础类型,并且基础类型也用于 ABI。以下示例演示了一个自定义类型。
2025-03-30 11:12:29
974
1
原创 【区块链安全 | 第十四篇】类型之值类型(一)
特别是,任何未知的合约可能是恶意的,如果调用它,你将把控制权交给该合约,而该合约可能会再次调用你的合约,因此当调用返回时,需要做好准备处理可能会更改的状态变量。,更精确地说是 IEEE 754 数字)和定点数的主要区别在于,浮动点数用于表示整数和小数部分的位数是灵活的,而定点数则严格定义了每部分所占的位数。与引用类型不同,值类型的声明不指定数据位置,因为它们足够小,可以存储在栈中。是字节的数组,但由于填充规则,对于每个元素,它浪费 31 字节的空间(在存储中除外)。的目的是使用存储在另一个合约中的库代码。
2025-03-30 10:52:41
689
1
原创 【区块链安全 | 第十三篇】Solidity 合约结构
Solidity 事件(Events)是 EVM(以太坊虚拟机)提供的日志机制,用于在链上记录特定操作,并供外部应用监听和使用。状态变量是那些值被永久存储在合约存储中的变量,或者是临时存储在瞬态存储中的变量,后者在每次交易结束时会被清除。函数调用可以是内部的或外部的,并且具有不同的可见性级别。3.Solidity 中的枚举本质上是 uint 类型,第一个成员默认值为 0,第二个成员 1,依此类推。2.便于外部访问,前端应用(如 dApps)可以监听事件,实时获取区块链上的重要信息。函数是代码的可执行单元。
2025-03-30 10:29:07
501
原创 【区块链安全 | 第十二篇】安装 Solidity 编译器(npm | docker | Linux | macOS)
除了正式发布的版本,官方还提供每夜构建版本(nightly builds),让开发者能够提前尝试新功能并提供反馈。不过,这些每夜构建包含开发分支中的最新代码,并不保证始终可用,这些版本可能包含未记录或已损坏的更改,最终可能不会出现在正式版本中。此外,在主版本号为 0(即 0.x.y)的情况下,补丁级别的发布不会引入破坏性更改。这意味着可以预期使用版本 0.x.y 编译的代码,在 0.x.z(z > y)的情况下仍然可以编译。] 的提交记录,找到你需要的版本的提交哈希值(commit hash)。
2025-03-30 09:33:36
1068
原创 【区块链安全 | 第十一篇】Solidity 项目及代码示例
支付通道允许参与者在不使用链上交易的情况下进行多次以太币转账。这意味着可以避免交易带来的延迟和费用。我们将探讨一个简单的单向支付通道Alice 向智能合约存入以太币,从而“打开”支付通道。Alice 发送签名消息,指定接收者应得的金额。这个步骤会重复进行,每次支付都需要 Alice 发送新的签名消息。Bob 关闭支付通道,提取属于自己的以太币,并将剩余的资金退还给 Alice。
2025-03-29 23:24:35
617
原创 【区块链安全 | 第十篇】智能合约概述
这是因为越多的区块添加到某个区块上时,这个区块被回滚的可能性就越小。所以,可能会出现你的交易被回滚甚至从区块链中移除的情况,但等待的时间越长,这种情况发生的可能性就越小。警告:使用 Unicode 文本时需要小心,因为一些看起来相似甚至完全相同的字符,可能具有不同的代码点(Code Point),因此它们的字节编码可能不同,从而引发安全或兼容性问题。解决方案:监听 Sent 事件,并创建自己的区块链浏览器来跟踪交易记录和余额变化,但你查询合约地址(通过合约内部的查询函数),而不是代币持有人的地址。
2025-03-29 18:31:31
979
1
原创 【区块链安全 | 第八篇】多签机制及恶意多签
当黑客获取用户的私钥或助记词后,如果该用户未使用多签机制(即钱包仅由用户单独控制),黑客便能直接修改账户权限,将 Owner 或 Active 权限授权给自己的地址,甚至完全转移至自己的控制之下。在下图所示案例中,用户的 Owner/Active 权限未被移除,但黑客在账户权限中添加了自己的地址,并赋予相同的权限。你的权重是 1,但阈值是 2,你单独签名的交易不会生效。另一种更具破坏性的方式是,黑客直接更改账户权限,将 Owner/Active 权限完全转移至自己的地址,并将用户的权限移除。
2025-03-29 11:27:25
816
1
原创 【区块链安全 | 第九篇】基于Heimdall设计的智能合约反编译项目
代理合约只是一个转发请求的合约,而实际的业务逻辑由实现合约(Implementation Contract)来执行。它不仅支持普通合约的反编译,还能自动解析代理合约(Proxy Contract),并找到对应的实现合约(Implementation Contract)进行反编译,极大地方便了合约分析工作。通过RPC端点和合约地址,我们能够与区块链节点上的合约进行通信,查询该合约的字节码。合约字节码是编译后的 Solidity 代码,包含了合约的执行逻辑,但不以可读的形式展示。
2025-03-29 10:46:42
1185
原创 【区块链安全 | 第七篇】EVM概念详解
以太坊虚拟机(Ethereum Virtual Machine,EVM)是以太坊区块链的核心计算环境,负责执行智能合约和处理交易。EVM 让所有以太坊节点能够达成共识,并在去中心化网络中保持一致的计算结果。
2025-03-27 20:53:27
1046
6
原创 Ubuntu系统保姆级Paperless-ngx部署指南:零基础实现文档云端化管理
在当今快节奏的办公环境中,文档管理成为了一个不可忽视的问题。想象一下这样的场景:你需要一份重要的合同,却在堆积如山的文件中迷失了方向。你手忙脚乱地翻找,汗水顺着额头滴落,心里默念:“快出现吧,合同!”但现实总是残酷的——你最终还是没有找到。这不就是现代办公室版的“西游记”吗?随着数字化时代的到来,传统的纸质文档管理方式已经无法满足高效办公的需求。如何将这些文件有序地管理和检索,成为了许多企业和个人面临的一大挑战。为了解决这一问题,一款强大的文档管理工具——应运而生。
2025-03-27 16:35:14
1301
5
原创 【区块链安全 | 第六篇】NFT概念详解
1.每个 NFT 都是独特的,不可互换,比如一幅数字艺术品、一个游戏装备(你买了一幅 Beeple 的 NFT 画作,编号 #2053,它是独一无二的,不能交换成另一幅不同的 NFT 画作)1.可互换,同一代币的单位彼此相同,如 1 USDT = 1 USDT(你拥有 1 ETH,你可以把它换成任何其2.他人的 1 ETH,它们的价值和属性完全相同。ERC-1155 允许同一个合约管理多种类型的代币,可同时包含可替代代币(FT)(如游戏金币、代币)、非同质化代币(NFT)(如游戏道具、皮肤)
2025-03-26 18:13:58
1224
1
原创 【区块链安全 | 第五篇】DeFi概念详解
举个例子,比特币(BTC)和以太坊(ETH)等加密货币价格波动剧烈,一天内可能涨跌 10% 以上,因此投资者和商家很难接受高波动的资产,例如:你今天用 1 BTC 买了一辆车,明天 BTC 价格上涨 20%,相当于亏了 20%。用户发布买单(买入某资产的请求)和卖单(卖出某资产的请求),交易所通过撮合买卖双方的订单来完成交易。6.由于你的买单数量是 10 ETH,但市场上只有 5 ETH 的卖单,所以你还剩下 5 ETH 的买单没有被成交,这部分 5 ETH 会继续挂单在订单簿上,等待卖单的出现。
2025-03-26 16:48:05
874
2
原创 【区块链安全 | 第四篇】EOS架构
相比以太坊,EOS 采用 DPoS(委托权益证明) 共识机制,提升交易速度,同时使用资源管理代替 Gas 机制。EOS 使用 WebAssembly(WASM) 作为虚拟机(VM),相比以太坊的 EVM(Ethereum Virtual Machine),执行效率更高。dappgame123(DApp 账户)在 EOS 上的智能合约会解析这笔交易,并更新内部数据(例如给 Alice 发放道具)。从上面可以看出:EOS 可以细化权限,提高安全性,而以太坊中,私钥 = 账户所有权。
2025-03-26 10:44:22
975
2
原创 【网络安全 | 漏洞挖掘】IDOR+XSS=账户接管
5、由于他们使用的是数字ID来访问数据,我使用了Burp Suite的Autorepeater插件,使每个包含我的eventID的请求都匹配受害者的victimEventID。我已经测试这个应用程序一段时间了。由于eventID是一个数值ID,我们可以使用暴力枚举的方式遍历所有可能的eventID,将XSS注入到所有平台用户的电子邮件模板中。然后重新进行URL编码,并发送请求,刷新页面后,XSS成功执行,但它是Self-XSS。3、我进入了“Customers”标签页,在我的账户下可以看到所有我的客户。
2025-03-26 09:15:15
308
1
原创 【网络安全 | 漏洞挖掘】2500 美元:通过 JWT IDOR 实现账户接管
由此可以明确,在会话中存储了一个 JWT,经过加密后,user_id 以 “User:01946fa0-xxxxxx-04f8–0000-xxxxxxxxx” 的形式暴露在请求中。经过测试,我发现,只要能够访问 “User:01946fa0-xxxxxx-04f8–0000-xxxxxxxxx”,那么就可以修改该用户的账户数据,实现账户接管。我点击"提交新名称"时,请求会携带一个 JWT 令牌和请求体,我们重点关注请求体中的user_id字段。如果信息正确且系统接受更改,则返回成功响应(200 OK)。
2025-03-26 08:25:46
253
1
原创 【区块链安全 | 第三篇】主流公链以太坊运行机制
最常见的代币标准是 ERC-20(同质化代币) 和 ERC-721(非同质化代币),它们分别用于代表可替代代币(如 USDT、DAI) 和NFT(如 BAYC、CryptoPunks)。以太坊虚拟机(Ethereum Virtual Machine,EVM)是以太坊智能合约执行的核心,它提供了一个图灵完备的计算环境,能够在不同的以太坊节点上执行智能合约代码,并保持一致性。例如,Uniswap 智能合约本身不会主动买卖代币,而是等待用户(EOA)发送交易请求,触发合约执行 swap 逻辑。
2025-03-25 22:54:15
1097
原创 【区块链安全 | 第二篇】区块链概念详解
区块链是一种去中心化(Decentralized) 的分布式账本技术(Distributed Ledger Technology, DLT),它通过密码学、共识算法和点对点网络,实现多个节点之间无信任的存储和共享数据。区块链的核心特性包括去中心化、不可篡改、透明性和安全性。
2025-03-25 15:17:22
1037
原创 【区块链安全 | 第一篇】密码学原理
前瞻攻击指的是在某些交易或竞拍环境中,恶意用户通过提前得知即将提交的交易或出价信息,在其之前进行自己的交易或操作,从而获得不公平的优势。例如,在一个去中心化交易所(DEX)中,攻击者可能会提前看到用户的交易订单,然后在交易执行之前先行交易,从而操控市场价格,获取额外利润。提交交易:用户提交的并不是交易的真实内容,而是交易内容的 哈希值。在提交阶段,用户在提交他们的实际交易数据或出价之前,会先提交一个 加密哈希 值(commitment),这个哈希值是通过 哈希函数 对交易数据进行加密处理得到的。
2025-03-25 14:55:15
1184
原创 【网络安全 | 漏洞挖掘】绕过管理员权限撤销的访问控制漏洞
该应用程序是一个允许用户创建组织、跟踪其网站并提供多种功能的应用。此外,管理员可以邀请其他用户并为其分配自定义权限。我不清楚该应用的具体技术栈和开发语言,但我知道它的权限配置可能非常复杂,因为这个漏洞本身就十分奇特。
2025-03-25 11:16:45
371
原创 【项目开发】不想暴露目录索引,该怎么办?
在 Apache 服务器上,默认情况下,如果访问的 URL 对应的目录下没有 index.html 或 index.php 文件,Apache 会显示该目录的文件列表(即目录索引)。这可能导致敏感信息泄露,暴露服务器目录结构给外部用户。按下键盘上的 i 进入编辑模式,将 Options Indexes FollowSymLinks 修改为 Options FollowSymLinks。步骤 5:此时访问服务器,不会再显示目录索引页面。修改 Apache 配置文件,禁用目录索引功能。来保存并退出编辑器。
2025-03-24 19:48:47
83
1
原创 【网络安全 | 毕业设计】基于AI Agent的DDOS恶意流量识别系统
在当今数字化时代,网络攻击频繁发生,其中DDoS(分布式拒绝服务)攻击因其强大的破坏力,已成为网络安全领域的一大挑战。传统的流量检测方法在面对复杂多变的DDoS攻击时,往往显得力不从心。基于规则的检测技术依赖于预设规则库,而面对不断演变的新型攻击手段,由于缺乏相应的规则,往往难以及时发现和阻止攻击。例如,一些利用应用层协议漏洞的DDoS攻击,其流量特征与正常流量极为相似,使得传统规则匹配方法难以有效区分。此外,传统的机器学习检测算法(如朴素贝叶斯、支持向量机等)在处理高维度、海量网络流量数据时,易受到过拟合
2025-03-24 19:20:14
572
原创 EMQX本地化部署结合内网穿透实现MQTT服务器远程连接全流程配置
随着物联网技术的飞速发展,MQTT协议在智能设备间的信息传递中越来越吃香。而EMQX作为一款高性能、可扩展且稳定的开源MQTT消息服务器,简直是众多开发者心中的‘香饽饽’。但问题来了,如何在远程环境下轻松控制这些MQTT服务器呢?别担心,cpolar这款内网穿透神器能帮你轻松搞定!本文将带你一起探索,如何用EMQX和cpolar实现MQTT的远程连接。本文将详细介绍如何使用EMQX结合cpolar来实现MQTT的远程连接。
2025-03-24 18:36:32
1070
4
原创 【网络安全 | 人工智能】AI agent 本地化部署 | CyberMatrix 自动化代码审计分析
CyberMatrix 是一个基于 AI 的代码安全分析工具,专注于自动化检测和分析代码中的潜在安全漏洞。采用赛博朋克风格的现代化界面,提供直观的安全分析体验。现代化 UI 框架 JavaFX + JFoenix本地化 AI 模型 OllamaAnimateFX,实现界面动画效果Jackson,实现JSON 处理OkHttp,实现网络请求。
2025-03-23 20:16:36
266
2
原创 【网络安全 | 漏洞挖掘】通过控制台调试实现登录
紧接着,我取消之前设置的断点,并在当前关键代码处重新设置断点。我仔细向上翻阅代码,发现关键信息:变量a的值必须为c3ee4d1ca34b184882c9c5473cb82490,且n.password的值必须为1680,满足这两个条件方可成功登录。由于系统设定,输入错误的账号和密码会弹出 “账号密码错误” 的提示。在安全测试过程中,我留意到一个特殊现象:当登录出现错误时,相关请求包并不经过 Burp Suite。那么此时账号密码是储存在前端的,我通过调试即可实现登录管理员账户。
2025-03-22 19:13:50
338
原创 【网络安全】从浏览器到服务端讲JavaScript安全
在 JavaScript 中,eval 是一个非常强大的函数,允许执行动态构建的字符串代码。在 Linux 中,攻击者可以通过 getuid() 和 getgid() 等方法获取当前用户的 UID(用户 ID)和 GID(组 ID),甚至可以使用 setuid() 和 setgid() 改变当前进程的用户和组。在某些国产浏览器中,浏览器功能的 HTML 化越来越普遍,各种 XSS(跨站脚本)漏洞层出不穷,一些浏览器提供了跨协议访问的能力,使攻击面进一步扩大,甚至可能导致本地文件泄露或远程代码执行。
2025-03-21 19:13:03
424
3
原创 fnOS无公网IP远程访问配置与使用手机APP管理的实战操作指南
在这个智能设备时代,数据存储的问题已经让不少人抓狂。想象一下这样的场景:你正在国外享受阳光海滩,突然想到需要查看家里的某个重要合同;或者你在办公室加班到深夜,却发现忘带了重要的项目资料——是不是想把电脑砸了的心都有了?别担心,科技大佬们早就为你准备好了应对方案!网络附加存储(NAS)设备作为高效的数据管理和共享工具,在家庭和企业中越来越受欢迎。飞牛云NAS凭借其强大的功能、稳定的性能以及灵活的扩展性,成为了众多用户的首选。
2025-03-21 08:09:56
1107
6
原创 【Java代码审计 | 第十八篇】未授权漏洞代码审计及鉴权方式说明
它的作用是告诉 Spring Security,你需要对 HTTP 请求进行授权保护,并为不同的 URL 设置不同的访问权限。它提供了一系列的端点(Endpoints),通过这些端点可以获取应用程序的各种运行时信息,比如健康状况、性能指标、Bean 列表、环境变量等,还能对应用进行一些动态操作,如刷新配置等。Druid 是阿里巴巴开源的数据库连接池,它不仅提供了高性能的数据库连接管理,还集成了监控功能,可以通过 Web 界面查看 SQL 执行情况、监控数据库连接、查看慢查询等信息。
2025-03-18 15:11:46
1079
3
原创 【网络安全】Trpc 视角下的现代 API 漏洞挖掘研究
在这篇文章中,我将讨论我对 tRPC 的研究。首先,我们将回顾 tRPC 的概念,然后再分析 tRPC 应用的攻击面。作为开发者,我们需要在服务器上使用 TypeScript 定义 API,明确指定代表 API 端点的函数的输入和输出类型。在 tRPC 中,这些函数被称为“过程”(Procedures),它们可以执行各种操作,例如获取数据(查询,Queries)以及创建、删除和更新数据(变更,Mutations)。在服务器端,过程(Procedures)被组织到路由(Routers)中。
2025-03-18 10:09:03
457
原创 宝塔面板结合内网穿透打造你的专属云端FTP服务器远程在线传输文件
本文主要介绍宝塔FTP文件传输服务如何搭配内网穿透工具,实现随时随地远程连接局域网环境搭建的宝塔FTP文件服务并进行文件管理!无需公网IP,也不用准备云服务器那么麻烦。宝塔FTP是宝塔面板中的一项功能,用于设置和管理FTP服务。通过宝塔FTP,用户可以创建FTP账号,配置FTP用户权限,并进行文件上传、下载和删除等操作.cpolar是一种安全的内网穿透云服务,可以将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务。
2025-03-17 18:14:59
1200
7
原创 【Java代码审计 | 第十六篇】项目审计思路:第三方组件、配置文件、正逆向排查
1、数据库信息泄露:是否存储了明文数据库密码?2、拦截器(Interceptor) 需要在 springmvc.xml 配置文件中定义,仅适用于 Spring MVC,通常用于权限控制、日志记录、全局数据处理等。2、分析外部可控参数 —— 检查 @RequestParam、@PathVariable、@RequestBody 等方式接收的参数,确定哪些参数是外部可控的。1、过滤器(Filter) 需要在 web.xml 中进行配置,适用于所有 Java Web 应用,可用于请求过滤、编码处理、安全检查等。
2025-03-17 09:29:07
1904
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人