作者MACD (MACD)
看板DigiCurrency
标题[闲聊] permit链下签名钓鱼
时间Sun May 21 09:39:50 2023
我刚刚看到一篇关於用permit链下签名的方式来转走你帐户内的token,而且这个方式你的
帐户内不会有approve纪录,之前我在用paraswap、uniswapV3、1inch有遇过这种授权方式
所以特别来提醒大家,现在连链下签名都要仔细看一下,别无脑签名。
链下签名比较常出现的方式是连入defi网站的时候,需要你用帐号签一份声明书,例如par
aswap连进去会要你签一份这个网站不提供给美国人使用的声明。
https://i.imgur.com/UFznnNW.png
permit功能可以看USDC的etherscan上的code,简单来说就是用链下签名的方式根据permit
需要参数让你签名,拿到你签完名的加密资讯v.r.s,然後骇客再call USCD permit函数,
那就可以完成approve的动作。这个方式比较特别的是链下签名不会消耗gas,所以你不会
去特别在意这个签名,你以为一切都正常,但是其实你已经把token授权给别人动了,而且
revoke工具也不会侦测到,revoke工具原理其实是扫你的帐户内的approve tx,这个permi
t方式,permit tx其实会出现在骇客的帐户下面,所以revoke不会侦测到。对permit tx
fee是骇客帮你付的。
现在可以从1inch看一下permit链下签名会长怎样。有没有发现permit链下签名跟上面的网
站声明基本上一样,只是message data部分不一样,换成要你签permit需要参数,其实这
是metamask有帮解析後的结果,有些钱包不支援解析的话,应该会是0xd505accf开头一串
bytes32 code,大家可以比较一下一般USDC approve,现在metamask已经不会无脑无限
approve了,会问你要approve多少。
permit链下签名
https://i.imgur.com/PdMw4JL.png
approve tx
https://i.imgur.com/Qi9en0h.png
结论
如果遇到链下签名请仔细看清楚。
ref:
https://foresightnews.pro/article/detail/33330
--
对了,谢谢版主昨天赞助pizza day
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.161.113.147 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1684633192.A.F6D.html
1F:推 s89505123: 推推 05/21 09:48
2F:推 SamuelLuo: 专业推 05/21 11:03
3F:推 gR7P4zXH: 推 05/21 11:42
4F:→ JapaZPa4867: permit 是基於 EIP712 的 signTypedData 05/21 15:56
5F:→ JapaZPa4867: 一般讯息签名是用的是 signMessage 05/21 15:56
6F:→ JapaZPa4867: 前端或插件都会提示签名类型 注意就好 05/21 15:56
7F:推 sazabijiang: 好恐怖..这好像传统签名文件下垫复写纸以及另一份 05/21 18:12
8F:→ sazabijiang: 文件的伎俩。你以为只签了A,其实是A+B套餐 05/21 18:12
9F:推 leofu100: 推谢谢 05/21 18:18
10F:推 DarkerDuck: 小狐狸permit链下签章也要跟approve一样警告无脑按的 05/21 18:57
11F:→ DarkerDuck: message差很多,理论上用UI就可以预先警告的 05/21 18:58
12F:→ MACD: 很多无脑签的没说根本看不出是在签EIP-712还是签message 05/21 20:20
13F:推 yahooyamgoog: 这种签名的伤害是一次性的还是永久性的?若不小心 05/22 12:03
14F:→ yahooyamgoog: 签名,有办法取消授权吗? 05/22 12:03
15F:→ MACD: 看你授权多少,可以取消,但是需要点技术,直接换帐号比较 05/22 14:30
16F:→ MACD: 快 05/22 14:30
17F:推 ECZEMA: 麻瓜觉得害怕 05/25 22:10