作者MACD (MACD)
標題[閒聊] permit鏈下簽名釣魚
時間2023-05-21 09:39:50
我剛剛看到一篇關於用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-site.org.tw), 來自: 218.161.113.147 (臺灣)
※ 文章網址: https://ptt-site.org.tw/DigiCurrency/M.1684633192.A.F6D
推 s89505123: 推推 05/21 09:48
推 SamuelLuo: 專業推 05/21 11:03
推 gR7P4zXH: 推 05/21 11:42
→ JapaZPa4867: permit 是基於 EIP712 的 signTypedData 05/21 15:56
→ JapaZPa4867: 一般訊息簽名是用的是 signMessage 05/21 15:56
推 Muzaffer: 到底要多有錢才會想包養 05/21 15:56 → JapaZPa4867: 前端或插件都會提示簽名類型 注意就好 05/21 15:56
推 sazabijiang: 好恐怖..這好像傳統簽名文件下墊複寫紙以及另一份 05/21 18:12
→ sazabijiang: 文件的伎倆。你以為只簽了A,其實是A+B套餐 05/21 18:12
推 leofu100: 推謝謝 05/21 18:18
推 DarkerDuck: 小狐狸permit鏈下簽章也要跟approve一樣警告無腦按的 05/21 18:57
推 MIJice: 閨蜜上包養網還推薦我... 05/21 18:57 → DarkerDuck: message差很多,理論上用UI就可以預先警告的 05/21 18:58
→ MACD: 很多無腦簽的沒說根本看不出是在簽EIP-712還是簽message 05/21 20:20
推 yahooyamgoog: 這種簽名的傷害是一次性的還是永久性的?若不小心 05/22 12:03
→ yahooyamgoog: 簽名,有辦法取消授權嗎? 05/22 12:03
→ MACD: 看你授權多少,可以取消,但是需要點技術,直接換帳號比較 05/22 14:30
推 SpyTime: 包養? 05/22 14:30 → MACD: 快 05/22 14:30
推 ECZEMA: 麻瓜覺得害怕 05/25 22:10