原理上和Balsn的Election相同。
Source
1 | pragma solidity =0.6.12; |
分析
直接看isSolved检查的条件,要求Storage[8]
进行keccak后值为0xffc411432425ed5cecf9384ab99646c1825e1fe40ce46b953350782d81a6ecc1
,Storage[8]
正好是4个bool类型的flag所在的位置,枚举一下发现要求只置位flag2和flag3。
过game2和game3要求过auth修饰符,使用ERC223接口中的transfer让合约调用自身绕过auth修饰符,并且布置calldata与目标函数的calldata格式相吻合。
EXP
1 | from web3 import Web3 |