来自SHCTF 2023 的区块链签到题
[WEEK2]blockchain signin
具体参考本文,这里只做操作演示
准备阶段:
用metamask开一个账户测试水龙头
RPC填题目给的,链ID先随便填然后会报错给正确的再填,其余随意填
把账户地址给水龙头可以拿到测试币(下图所示)
浏览器直接连接水龙头
https://remix.ethereum.org/
Remix在线地址,我这里和metamask一起放在Chrome上
Remix和metamask绑定
第四栏选择Injected Provider - MetaMask,网页会自动弹出连接
连接即可
操作部分:
nc连地址,选1 得到: token:v4.local.swG1Vyhm-j-8tm30R4uf2wWcEWoPl1bHhLwi-OUS6qeoNMmXxZm5c8XFTcr2ElZXtCD18iLQBeGD-XmOsQq98cLOYdTsD3WwcwxMkjKLgIDCf6TIBv2ltRbBpJgZAmzgvf_9-yGLyGHAGtmbpnfNeSnBSTjf3H5B_pcWIr3olxS3yQ.R3JlZXRlcg 账户:0xD1c924fc5D72b9c6346921f37E596cE2cB859404 |
账户给水龙头拿个测试币 |
再次nc,这次选择2 |
拿到: contract address: 0x40C6BC645879BF27b6Fb1F5EC3503Ebd935bD8FF transaction hash: 0xfc54f73720aa6b348495a17cfff45db2794873ab8362e06f43023296fc456f39 |
然后再选4,拿到题目源码: |
remix,在default_workspace 里创建一个新文件 |
把源码放进去并作细微修改(适应版本) |
调到第三栏选好对应版本 compile一下 |
把contract address放到地址那里,然后点下at Address 按钮,打开下面的窗口 |
根据代码提示,我们发起一个问候,内容为"welC0meToSHCTF2023" 在setGreeting里添加并运行 |
刚才得到的测试币在这里派上用场,用于缴费gas |
然后回到nc环境,选3就可以得到flag了 |
SHCTF{1T_Ls_a_ESS3N7Iais_8IOCkCh4IN_ChaLLEn6E_Are_you_Ready_7O_DIve_In}