avatar
Articles
111
Tags
11
Categories
0

Home
Archives
Tags
About
何方圜的博客
Home
Archives
Tags
About

何方圜的博客

矿工攻击
Created2024-10-16
漏洞分析 矿工可以验证交易并将它添加到区块链中,操纵哈希或者时时间戳等区块属性来影响合约的执行或结果 举例 是否明智使用了block.timestamp,尤其是对于较长的间隔,block.timestamp可以被矿工再很小的程度上操纵,影刺依赖它进行计算时可能会有风险 价格操控攻击漏洞分析 攻击者故意改变去中心化交易所的资产价格,通常是为了依赖利用合约或者交易 举例如果价格或资产之间的汇率是从余额比率得出的,则可以对其进行操纵。闪电贷和捐赠是众所周知的用于操纵价格的攻击媒介。 重入攻击重入攻击是一种针对智能合约的安全漏洞,攻击者利用合约在执行期间的状态不一致性,通过多次调用合约的某个函数,从而导致资金或数据的异常损失。下面将详细细分重入攻击的类型,并通过具体示例进行说明。 单个合约重入攻击漏洞描述:攻击者利用合约中的漏洞,在同一合约内重复调用函数,导致状态不一致或资金损失。 举例:某个合约允许用户提取资金,攻击者利用重入漏洞在提现过程中多次调用提现函数,导致超过账户余额的提取。 跨合约重入攻击漏洞描述:攻击者首先调用一个合约的函数,该函数再调用另一个合约的函数,然后再通过回调再次调用原 ...
恶意破环攻击
Created2024-10-16
漏洞描述攻击者通过恶意破坏系统,通常它们不会有盈利的,就是恶意破坏运营和用户,它们可以通过链上的轻微改变来阻止用户交易
CTF-The lost Kitty
Created2024-10-15
CTF-The lost kitty题目就是Lucas在一个空间为2^256的房间丢失了一只猫,要求我们找到这只小猫,题目的源代码,如下:// SPDX-License-Identifier: MITpragma solidity ^0.8.0; contract HiddenKittyCat {    address private immutable _owner;     constructor() {        _owner = msg.sender;        bytes32 slot = keccak256(abi.encodePacked(block.timestamp, blockhash(block.number - 69)));         assembly {            sstore(slot, “KittyCat!”)        }    }     function areYouHidingHere(bytes32 slot) external view returns (bool) {    ...
CTF-Creativity
Created2024-10-14
CTF-Creativity题目:要求调用sendFlag(),记录事件源代码: pragma solidity ^0.5.10;contract Creativity { event SendFlag(address addr); address public target; uint randomNumber = 0; function check(address _addr) public { uint size; assembly { size := extcodesize(_addr) } require(size > 0 && size <= 4); target = _addr; } function execute() public { require(target != address(0)); target.delegatecall(ab ...
20241005AIZPTToken攻击事件分析
Created2024-10-12
AIZPTToken攻击事件分析先大概描述一下:攻击者使用闪电贷借的钱,然后再购买了价值8000 BNB的AIPTToken,然后再以高价卖出,从中得到利润,还清借款,最终获得价值34BNB(约俩万美金)。 这是发生在最近的攻击,首先攻击者发现了这个AIZPTToken代币买卖的计算错误,下面是截取的AIZPTToken合约中的一段代码 function buy() internal { require(tradingEnable, 'Trading not enable'); uint256 swapValue = msg.value; uint256 token_amount = (swapValue * _balances[address(this)]) / (address(this).balance); require(token_amount > 0, 'Buy amount too low'); uint256 user_amount = token_amount * 50 / 100; ui ...
智能合约的漏洞
Created2024-10-07
智能合约的漏洞重入攻击 重入漏洞本质上是状态同步问题,当智能合约调用外部函数时,执行流会转移到被调用的合约,如果调用合约未能正确同步状态,则在流程转移过程中可能会被重新进入,导致重复执行相同的代码逻辑。具体来说,攻击通常分两个步骤展开:1,被攻击合约调用攻击合约的外部函数,并转移执行流程。2,在攻击合约函数内部,利用一定的技巧,再次调用被攻击合约的漏洞函数。由于以太坊虚拟机 (EVM) 是单线程的,因此在重新进入易受攻击的函数时,合约状态不会正确更新,类似于初始调用。这允许攻击者重复执行某些代码逻辑,从而实现意外行为。典型的攻击模式涉及多次重复的资金提取。 举例以修改后的WETH为例 contract EtherStore { mapping(address => uint256) public balances; function deposit() public payable { balances[msg.sender] += msg.value; } function withdraw() public ...
抢先交易攻击
Created2024-10-07
抢先交易攻击交易抢跑漏洞描述:交易抢跑是指攻击者在看到某个交易即将被矿工打包到区块中时,通过提高gas费迅速提交自己的交易,使其在原交易之前被打包。 举例:1.用户在去中心化交易所(如Uniswap)上提交一笔交易,希望以较低价格购买某种代币。2.攻击者看到这一交易后,立即提交一笔相同的交易,但设置更高的交易费用(gas price),使其交易优先被处理。3.结果,攻击者以较低价格获得代币,随后再以高价出售,获取利润。 价格抢跑漏洞描述:价格抢跑发生在用户的交易影响了某个资产的价格,而攻击者在价格变动前迅速提交交易,从中获利。举例:1.在某个拍卖合约中,用户提交了一个出价,导致价格上涨。2.攻击者注意到这一变化,并在用户出价被确认之前,提交自己的出价。3.攻击者以更低的价格赢得拍卖,获取资产。 状态抢跑漏洞描述:状态抢跑是指攻击者通过观察合约的状态变化,利用这些信息进行有利的交易。举例:1.一个合约的状态更新为可以提取奖励,用户提取前,攻击者监测到这个状态变化,立即提交提取请求。2.这样,攻击者可以在用户提取奖励之前获取更多的奖励。 交易插队漏洞描述:交易插队是指攻击者通过提交多个交易 ...
捐款攻击
Created2024-10-07
捐款攻击该协议是否依赖于balance或者balanceof,而不是内部会计漏洞描述 在以太坊网络上,任何地址的余额(无论是以太币还是代币)都可以通过address(this).balance 或token.balanceof(address)查询。然而,外部账户的余额可以被外部操作(如其他合约调用、用户转账等)影响。依赖于外部状态(即余额)可能导致合约的内部逻辑失去一致性,因为外部账户的状态在合约运行期间是不可预测的。 举例 首位存款人可以中断股份的锻造,如果总资产通过大量捐款被操纵,用户可能无法获得其存款的股份,攻击者操纵依赖于balanceof确定总资产金额并阻止其他用户通过存款换取股份
拒绝服务攻击(DOS)
Created2024-10-06
拒绝服务(DOS)攻击未设定gas费率的外部调用 在以太坊中,每一笔交易都会携带一定数量的Gas,这是为了确保任何执行的操作都不会消耗过多的计算资源,从而避免网络拥堵或资源耗尽。当一笔交易开始执行时,它会从交易者提供的Gas总量中扣除费用,直到合约执行完成或Gas耗尽。如果在执行过程中Gas耗尽,那么交易将被回滚,且已经消耗的Gas不会退还给用户。 漏洞分析: 1, 攻击者可以通过构造高复杂度的交易或智能合约来故意消耗大量的Gas,从而正常交易无法被包含在区块中。例如,攻击者可以创建一个合约,该合约在接收到消息时执行大量计算或存储操作,消耗接近最大Gas限额的Gas量。当许多这样的交易被同时发送到网络时,它们会占据大部分甚至全部的Gas容量,导致其他用户的正常交易无法被确认,从而达到拒绝服务的效果。 2,使智能合约进入无限循环,这将导致Gas立即耗尽,交易失败并回滚。这种攻击通常发生在合约逻辑中存在错误的情况下,例如没有正确处理循环退出条件,或在递归调用中缺少终止条件。当合约进入无限循环时,它会尝试消耗所有可用的Gas,最终导致交易失败,并可能使合约处于不可用状态。 解决方法: ...
20240508 BSC攻击事件分析
Created2024-09-29
BSC攻击事件分析这是一起发生在2024年5月8日币安智能链(BSC)上的闪贷攻击事件,影响的是GPU代币合约。该合约存在自转账漏洞,每次自转账都会导致资产翻倍。黑客利用该漏洞,通过DODO协议以闪贷的方式借入BUSD,在PancakeSwap上兑换成GPU代币,再利用漏洞进行多次自转账,导致其GPU代币余额增加了100亿倍,达到28,070,259,409,924枚代币。最后,黑客将GPU代币卖出换成BUSD,用于偿还闪贷本息,最终窃取约3.2万美元资金。 首先攻击者从DODO借贷协议中发起闪电贷,借出BUSD到攻击合约地址,攻击者合约在调用PancakeSwap协议,将借出的BUSD兑换成GPU代币,利用自我转账漏洞,凭空产生CPU代币,攻击者合约自己给自己转账,每转账一次,GPU资产就会翻倍,攻击者合约将获取到的GPU代币发送到PancakeSwap V2协议中,换取BUSD。然后攻击者从PancakeSwap V2协议中获取的BUSD,将其中的一部分用于返还DODO借贷协议的本金和利息,剩下的都是攻击者所获得的。 完整的调用信息看这里 下面是DODO协议中借贷协议中的借贷函数f ...
1…8910…12
avatar
何方圜
夫孰异道而相安
Articles
111
Tags
11
Categories
0
Follow Me
Announcement
CTF的更新
Recent Post
Uniswap v42025-12-15
MOVE漏洞总结2025-08-29
move 学习2025-07-28
Notional Exponent 审计2025-07-28
GMX协议遭受重入攻击损失4200万美美金2025-07-11
Tags
审计报告 基础知识 攻击事件分析 基本知识 题解 协议 test 课程学习 链接 CTF Solana
Archives
  • 十二月 20251
  • 八月 20251
  • 七月 20253
  • 六月 20257
  • 五月 20252
  • 四月 20252
  • 三月 20252
  • 十二月 202411
Info
Article :
111
UV :
PV :
Last Update :
©2020 - 2025 By 何方圜
Framework Hexo|Theme Butterfly