avatar
Articles
106
Tags
10
Categories
0

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

何方圜的博客

solidityqestion答案
Created2024-10-20
自查最近发现个关于solidity面试的问题网站,正好之前又重新温习了solidity的,所以就来做一下点击查看面试问题网站 容易1,私有、内部、公共和外部函数之间有什么区别? private表示只能在合同内部调用其他函数。 internal类似于私有关键字,但也可由继承当前合同的合同调用。 external只能在合同外部调用。 public可在任何地方被调用,无论是内部还是外部。 2,智能合约大约可以有多大? 24KB 3,create 和 create2 有什么区别? 首先它们都是Solidity中重要的操作码,都是用来部署合约的,区别就是,create是通过对发送者地址和nonce值进行哈希运算计算新合约的地址的,keccak256(rlp.encode(deployingAddress, nonce))。而create2更为复杂,它使用是通过一个公式计算新合约的地址的,这个公式包括,发送者地址,随机数,salt,字节码等参数,keccak256(0xff ++ deployingAddr ++ salt ++ keccak256(bytecode)),它也有个优点,可 ...
CTF-jpeg-sniper
Created2024-10-19
CTF-jpeg-sniper这道题的源码在这里 题目的要求是:铸币 首先又是要理解这些代码想表达的意思 BaseLaunchpegNTF合约,这个NTF的原型,里面实现了isEOA的修饰器,看到这个,我就想起了前几天才整理的智能合约的漏洞:如何绕过外部账户,实现用合约调用。接下来就是普通的铸币流程 function numberMinted(address _owner) public view returns (uint256) { return balanceOf(_owner); } function totalSupply() public view returns (uint256) { return _tokenId.current(); } /// 每个使用者可铸币的数量 function _mintForUser(address to, uint256 quantity) internal { for ...
CTF-GasValue
Created2024-10-16
CTF-GasValue这个题要求我们使open为faluse源代码如下: // SPDX-License-Identifier: MITpragma solidity 0.8.17;interface INozzle { function insert() external returns (bool);}/// @title Gas Valve/// @author https://twitter.com/bahurum/// @notice The evil Dr. N. Gas has created a machine to suck all the air out of the atmosphere. Anon, you must deactivate it before it's too late!/// @custom:url https://www.ctfprotocol.com/tracks/eko2022/gas-valvecontract Valve { bool public open; bool pu ...
AMM漏洞分析
Created2024-10-16
是否使用硬编码滑点在高波动时期,使用硬编码滑点会导致交易不佳并冻结用户资金 有截止日期保护吗如果没有截至日期保护,用户交易衡容易收到Sandwich攻击 是否针对协议储备的验证检查如果储备金未经验证,协议可能会面临风险,并且可以借出,从而影响系统的偿付能力。 AMM是否使用分叉代码如果使用了分叉代码,尤其是来自Uniswap等已知项目的代码,并且这些代码没有进行正确更新,或者审计,可能会引入已知的漏洞 产品常数公式中是否存在舍入问题公式中的四舍五入问题可能导致代币交换和流动性供应不准确或不平衡。 是否可以根据用户输入进行任意调用允许基于用户输入的任意调用可能会使合约面临各种漏洞 是否有适当的机制来防止过度滑点如果没有滑点保护,交易者可能会因交易过程中的巨大价格偏差而遭受意外损失。 AMM是否正确处理不同十进制配置和令牌如果 AMM 不支持具有不同小数或类型的令牌,则可能会导致计算错误和潜在损失。 AMM是否支持转账收费代币转账收费代币可能会导致问题,因为发送金额和接收金额不匹配。 协议是否在代币交换之前计算”minAmountOut”集成 AMM 的协议应在掉期之前确定 ‘minAmo ...
AMM(自动化做市商)
Created2024-10-16
简单介绍长话短说 你可以将自动做市商视为一个机器人,它总是愿意为你报出两种资产之间的价格。有些使用像 Uniswap 这样的简单公式,而 Curve、Balancer 和其他公司则使用更复杂的公式。 您不仅可以使用 AMM 进行无需信任的交易,还可以通过向流动性池提供流动性来成为庄家。这基本上允许任何人成为交易所的做市商,并通过提供流动性赚取费用。 由于 AMM 简单易用,它在 DeFi 领域真正占据了一席之地。以这种方式实现去中心化做市是加密货币愿景的本质。 介绍去中心化金融 (DeFi) 在以太坊和 BNB 智能链等其他智能合约平台上引起了人们的极大兴趣。收益耕种已成为一种流行的代币分配方式,代币化的 BTC 在以太坊上不断增长,闪电贷交易量也在蓬勃发展。 与此同时,像 Uniswap 这样的自动做市商协议经常会看到有竞争力的交易量、高流动性和不断增加的用户数量。 但是这些交易所是如何运作的呢?为什么为最新的食品币建立市场如此快速和容易?AMM 真的能与传统的订单簿交易所竞争吗?让我们来一探究竟。 什么是自动化做市商(AMM)?自动做市商 (AMM) 是一种去中心化交易所 (DEX ...
矿工攻击
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 ...
1…789…11
avatar
何方圜
夫孰异道而相安
Articles
106
Tags
10
Categories
0
Follow Me
Announcement
CTF的更新
Recent Post
关于OPE2025-06-19
sherlock-S-locker System2025-06-17
sherlock-DODO Cross-Chain DEX2025-06-17
单机版区块链的实现2025-06-16
sherlock-Usual ETH02025-06-10
Tags
链接 题解 Solana 基本知识 协议 test 攻击事件分析 课程学习 CTF 审计报告
Archives
  • 六月 20257
  • 五月 20252
  • 四月 20252
  • 三月 20252
  • 十二月 202411
  • 十一月 202421
  • 十月 202439
  • 九月 20247
Info
Article :
106
UV :
PV :
Last Update :
©2020 - 2025 By 何方圜
Framework Hexo|Theme Butterfly