avatar
Articles
109
Tags
10
Categories
0

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

何方圜的博客

闪电贷
Created2024-08-07
闪电贷闪电贷(Flash loan):是一种无抵押、借贷金额无上限(可以借光池中所有的钱)的贷款。它要求借贷人快借快还,快到还款和借款在同一个交易内(同一个以太坊 transaction),在我看来就是非常迅速的借款还款 首先你要借钱的话,你要写个还钱合约,里面包括了如何赚钱,还本金加利息的数目,开始借款的话,就要实现一个flashloan()闪电贷合约,这个合约首先要先进行一系列的数据验证,再调用你的还钱合约,验证你是否还了本金加利息,如果没有还上,直接 revert 整个交易,让借款无效,从而保证借出方总是安全的。实现闪电贷通常有俩个合约。 闪电贷的优点:编写闪电贷合约总体并不复杂。使用闪电贷风险也比较小。如果赚钱逻辑失败,变成了亏钱逻辑,不能完成还款,那么也不用担心借来的巨款无力偿还。整个交易将会执行失败,就如同借款从来没有发生过一样。 实现你第一笔闪电贷合约闪电贷的极简入门下面是AI生成 ## 闪电贷### 同一个区块中提款可导致闪电贷攻击攻击者利用闪电贷的特性,在同一个区块内执行多个交易,以迅速操控市场,并从中获利,闪电贷本身就是一笔交易完成的,如果允许在同一个区块上进行提款 ...
damn-vulnerable-defi题解
Created2024-08-06
Damn-vulnerable-defiUnstoppable要求是,使拥有一百万DVI的钱包停止闪电贷的功能 分析:这个合约的代码在gittub上,要分开去看,这道题的解决就是靠一个基本的闪电贷的知识首先要看闪电贷的函数 function flashLoan(IERC3156FlashBorrower receiver, address _token, uint256 amount, bytes calldata data) external returns (bool) { if (amount == 0) revert InvalidAmount(0); // fail early if (address(asset) != _token) revert UnsupportedCurrency(); // enforce ERC3156 requirement uint256 balanceBefore = totalAssets(); if (convertToShares(totalSupp ...
hardhat
Created2024-08-06
hardhathardhat就是以太坊开发环境,如同remix,现在介绍一下安装hardhat的步骤 打开终端,win+r,输入cmd 检查node js,安装没有,node -v (没有安装去官网下载) 建一个文件夹,在终端输入mkdir hardhat-tutorial,然后进入文件夹,cd hardhat-tutorial 进行初始化,npm init,接下来一直按enter,直到出现Is this OK? (yes),回答yes即可 安装hardhat npm install --save-dev hardhat,需要等待几秒 再安装一个插件 npm install –save-dev @nomicfoundation/hardhat-toolboxs 编写合同安装完成后,因为使用VScode,所以我们要安装一个VScode 安全帽,它可以帮组我们更好的使用solidity语言,然后在VScode创建一个新目录,写一个简单的.sol合约,在终端中运行该合约,npx hardhat compile,成功后就会看到Compiled 1 Solidity file su ...
Uniswap V2
Created2024-08-06
Uniswap V2Uniswap是一种流行的去中心化交易所 (DEX)协议,允许用户将任何 ERC20 代币交换为另一种代币,提供流动性以赚取费用,并访问以太坊区块链上的价格预言机。 而Uniswap V2具有更强大的功能,如下: 它允许任何的ERC20代币与其他的ERC20代币配对,无需ETH作为中介,这使得流动性池更加多样化和高效,并为交易者提供更好的价格。 就是一种代币可与其他的代币转化,方便很多 Uniswap V2 实施了一种新颖的机制,可实现高度去中心化且抗操纵的链上价格供给。 这是通过在每个区块开始时测量两种资产的相对价格并随着时间的推移积累历史数据来实现的。 这允许外部智能合约查询任何时间间隔内任何货币对的时间加权平均价格(TWAP),同时将天然气成本和预言机风险降至最低。 Uniswap V2 支持一种称为闪电互换的新型交易,用户可以从池中接收任意数量的任何资产,并在链上的其他地方使用它,只要他们在交易结束时偿还该金额并支付费用即可。 交易。 这为套利、保证金交易、抵押品互换等开辟了新的可能性。 每个Uniswap智能合约或一对智能合约都管理由两个ERC-20代 ...
ERC20
Created2024-08-05
ERC20ERC20是以太坊上的代币标准,它实现了代币转账的基本逻辑: 账户余额(balanceOf()) 转账(transfer()) 授权转账(transferFrom()) 授权(approve()) 代币总供给(totalSupply()) 授权转账额度(allowance()) 代币信息(可选):名称(name()),代号(symbol()),小数位数(decimals()) 除了ERC20,还有它的接口合约IERC20,就是为了统一规范,以便好使用,接下来就介绍一下IERC20合约的功能 俩个事件 释放条件:当 value 单位的货币从账户 (from) 转账到另一账户 (to)时.event Transfer(address indexed from, address indexed to, uint256 value); 释放条件:当 value 单位的货币从账户 (owner) 授权给另一账户 (spender)时.event Approval(address indexed owner, address indexed spender, uint256 valu ...
Ethernaut靶场题解
Created2024-08-01
EthernautFallback要求是,成为这个合约的所有者,并使这个合约的钱为零 分析;从这个合约中可以看到,要成为owner1,我们的钱必须大于合约持有者的钱,但是最开始合约本身就有1000ether,这个时候就走contribute函数不行,因为我们没有那么多钱2,此时发现receive,只要我们的钱和合约的钱大于0,就可以成为这个合约的持有者 方法:1,在remix上不能部署这个合约,因为部署后,合约初始化,owner就是我们自己了 constructor() { owner = msg.sender; contributions[msg.sender] = 1000 * (1 ether); } 直接使用合约地址At Adress2,调用contribute函数,转账1wei;2,调用receive函数,转账1wei,就完成了,注意记得将钱收回来 Fal1out要求是,成为这个合约的所有者 分析:注意这个的solidity的版本是0.6,没有影响关系,只是构造函数的写法不一样,如: //solidity 0.8 construc ...
靶场题解
Created2024-08-01
Fallback要求是,成为这个合约的所有者,并使这个合约的钱为零 首先找到owner, 分析;从这个合约中可以看到,要成为owner1,我们的钱必须大于合约持有者的钱,但是最开始合约本身就有1000ether,这个时候就走contribute函数不行,因为我们没有那么多钱2,此时发现receive,只要我们的钱和合约的钱大于0,就可以成为这个合约的持有者 方法:1,在remix上部署这个合约,首先调用contribute函数,给我们转账;2,在调用receive函数,就完成了 Fal1out要求是,成为这个合约的所有者 从这个题目来看,Fallout,Fal1out, 分析:首先看与owner相关的函数,再去分析构造的合约名字Fallout,仔细发现有个Fal1out的函数,它实际上是命名错误的,这个时候我们就可以调动这个函数,刚好成为合约的所有者 方法: 定义函数接口,直接调用该函数Fal1out,此时就成为了合约的所有者
my fist blog
Created2024-08-01
先进入blog cd blog预览hexo hexo s创建文章题目 hexo new “”进入文章目录 cd 提目前,blog后的东西)题目.md写文章 notepad 题目.md
Hello World
Created2024-08-01
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post$ hexo new "My New Post" More info: Writing Run server$ hexo server More info: Server Generate static files$ hexo generate More info: Generating Deploy to remote sites$ hexo deploy More info: Deployment
1…1011
avatar
何方圜
夫孰异道而相安
Articles
109
Tags
10
Categories
0
Follow Me
Announcement
CTF的更新
Recent Post
move 学习2025-07-28
Notional Exponent 审计2025-07-28
GMX协议遭受重入攻击损失4200万美美金2025-07-11
关于OPE2025-06-19
sherlock-S-locker System2025-06-17
Tags
test CTF 协议 课程学习 Solana 审计报告 题解 基本知识 链接 攻击事件分析
Archives
  • 七月 20253
  • 六月 20257
  • 五月 20252
  • 四月 20252
  • 三月 20252
  • 十二月 202411
  • 十一月 202421
  • 十月 202439
Info
Article :
109
UV :
PV :
Last Update :
©2020 - 2025 By 何方圜
Framework Hexo|Theme Butterfly