Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
HLF_TxTime_spoofing — PoC覆盖了Hyperledger Fabric区块链中交易时间操纵的问题(CVE-2024-45244)。 | Kitploit
工具/GitHubGitHub/shanker-sec/hlf_txtime_spoofing
漏洞分析漏洞利用密码学学习与教育
GitHubshanker-sec/hlf_txtime_spoofing

HLF_TxTime_spoofing

PoC覆盖了Hyperledger Fabric区块链中交易时间操纵的问题(CVE-2024-45244)。

查看仓库网站
2142年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

HLF_TxTime_spoofing

HLF_TxTime_spoofing —— 一个概念验证项目,涵盖了 Hyperledger Fabric 区块链中交易时间操纵的问题(使用 GetTxTimestamp() 或 GetHistoryForKey())。已在 v2.5.5 和 v3.0.0-beta 版本上测试。

项目由以下几部分组成:

  1. time_insecure - 使用 GetTxTimestamp() 计算存款利息的不安全链码变体
  2. time_secure_ntp - 一个从 NTP(网络时间协议)服务器获取时间以防范攻击者在计算存款利息时进行时间欺骗的链码
  3. time_secure_nts - 一个从 NTS(网络时间安全)服务器获取时间以防范攻击者在计算存款利息时进行时间欺骗的链码
  4. time_secure_localtime - 使用智能合约执行所在操作系统时间以防范攻击者在计算存款利息时进行时间欺骗的链码

在所有情况下(即各链码中),存款年利率均为 20%。

有助于理解业务逻辑的附加函数: CalcDividents() - 返回给定天数及初始存款金额下累积的股息 subtractTimestamp() - 返回当前时间与初始存款时间之间的差值

time_insecure 工作流程

调用 Stake_insecure() 以初始存款金额添加存款。调用 CheckDividents_insecure() 确认存款金额未改变。在客户端上更改本地时间,然后再次调用 CheckDividents_insecure()。

金融攻击:将时间向前调整 1 年,即可获得 20% 的年利息。


金融攻击成功

同样地,我们确认在 GetHistoryForKey() 中交易时间也可以被操纵。

time_secure_ntp 工作流程

在该链码变体中,我们根据从 NTP(网络时间协议)服务器获得的时间(使用 ntp 客户端包)检查交易时间。每个链码拥有各自的 NTP 服务器地址(即 不同的链码包)用于分发。如果出现时间偏差,将显示错误:"wrong time"。注意,NTP 流量数据可能被欺骗(数据以明文传输)。


金融攻击失败

time_secure_nts 工作流程

在该链码变体中,我们根据从 NTS(网络时间安全)服务器获得的时间(使用 nts 客户端包)检查交易时间。每个链码拥有各自的 NTS 服务器地址(即 不同的链码包)用于分发。如果出现时间偏差,将显示错误:"wrong time"。


金融攻击失败

time_secure_localtime 工作流程

在该链码变体中,我们根据本地时间(即对等节点上的时间)检查交易时间。如果出现时间偏差,将显示错误:"wrong time"。注意,所有对等节点上需要正确的时间设置。


金融攻击失败

时间预言机

hlf-time-oracle 是一个为 Hyperledger Fabric 区块链提供精确时间给其他链码的链码。hlf-time-oracle 基于 ntp 包 和 nts 包。从而解决了区块链客户端可能操纵交易时间的安全问题。该链码提供 GetTimeNtp() 和 GetTimeNts() 函数。调用这些函数会向 NTP(网络时间协议)和 NTS(网络时间安全)服务器发出请求。从任一服务器获取的时间可用于验证客户端定义的交易时间的正确性。区块链链码的开发者可以使用 hlf-time-oracle 替代独立编写与 NTP 和 NTS 服务器交互的代码。hlf-time-oracle 在运行过程中不会向区块链保存任何数据。

下载工具