文章作者: zhaojx
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小阿修的博客!
相关推荐
2025-01-19
DLNU25ctf考核wp
考核wp[toc] Pigeon合约这个题需要我们满足:盗走合约余额,并且使我们所有。 逻辑关键点在于task函数、flyway函数以及promotion函数,我们需要通过调用task函数积累任务点数,任务点数可以晋升。再加上你随时可以飞走,而晋升是需要扣掉你的余额的,但是飞走可以让你带走余额。所以我们可以先成为鸽子,薅空投可以获得4余额,然后调用2次task函数,一次4,两次8 ,然后飞走,晋升中级鸽子;再调用task,一次4 三次12,可以晋升到高级鸽子。这样可以无损晋升。 合约突破点在晋升时,我们的名字拥有一次重命名的机会,而名字是通过codename = keccak256(abi.encodePacked("code",...
2025-01-19
VScode快捷键
VS code 快捷键: alt + shift + f 格式化代码 alt + shift + a 单块注释 alt + 鼠标左键,多出光标同时操作 ctrl + shift + L 重命名变量 alt + shift + P 打开 VScode 的命令面板 ctrl + shift + V 打开 markdown 预览(需要装插件) alt + Z 自动换行 alt + <- 快速回到上次编辑的位置 alt + -> 快速回到下次编辑的位置 基本编辑 复制行向下:Shift + Alt + ↓ 复制行向上:Shift + Alt + ↑ 移动行向下:Alt + ↓ 移动行向上:Alt + ↑ 删除行:Ctrl + Shift + K 插入行下方:Ctrl + Enter 插入行上方:Ctrl + Shift + Enter 跳到行首/行尾:Home / End 跳到文件开头/结尾:Ctrl + Home / Ctrl + End 注释/取消注释当前行:Ctrl + / 块注释:Shift + Alt +...
2025-01-19
倒带时间
倒带时间这题主要考察的就是delegatecall数据存储,即委托调用目标合约时需要将数据类型存储顺序一一对应,这题的不同点是需要注意常数不占用数据存储槽,是直接十六进制编码。还有就是注意动态数组的声明和赋值方式。具体步骤就是先调用setZDriveowner函数把合约owner变成我们,再就是更改时间,只需要同名函数和参数即可,因为目标合约的time都是public关键字修饰,所以可以直接赋值。 目标合约: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128//...
2025-01-19
基础漏洞目录
基础漏洞 重入漏洞(Reentrancy) 访问权限漏洞 不可预期的 Ether 类型转换遇到的问题 私有变量访问 合约插槽(slot)布局,数组,动态数组,映射实际存储插槽位置 整数溢出(Overflow) 坏随机数(Bad Random) tx.origin 钓鱼 EOA 检测绕过 拒绝服务攻击(DoS) 未检查的低级调用 Create2 合约地址预测 薅羊毛攻击 delegatecall 修改状态变量,状态变量布局发生变化出现非预期错误(合约插槽冲突) 函数选择器冲突漏洞(可升级合约、Proxy 合约) ==学漏洞的同时,记得练 Foundry 命令以及 Foundry Test(单元,集成,Fuzzing),Script 脚本== 推荐链接: wtf solidity 104 合约安全:https://www.wtf.academy/docs/solidity-104/ Ethernaut...
2025-01-19
心想事成
心想事成考察的主要是关于wish_made(address)这个映射的变化从而让三元运算符给出不同的值,然后完成题目的要求通过这个题目。需要注意的是我们调用的地址需要时EOA的地址不是攻击合约的地址。(其中这个是按照正常逻辑来的,更高深的一点就是按照我们的staiticall绕过漏洞) 目标合约: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071// SPDX-License-Identifier: MITpragma solidity ^0.8.0;interface Wish_Maker { function wish_amount() external view returns (uint256);}contract Make_a_wish { address public owner; ...