Web3防骗指南第二期——如何识别钓鱼网站
Diya🍻(゜-゜)つ口

发布于 2022-08-08 21:10

作者:Lysithea#7819

ETH & NFT Drainer类钓鱼网站的鉴别——以Mercedes Benz NFT钓鱼网站为例

目前钓鱼网站所使用的技术手段繁多,包括假钱包网站盗取密钥、获得set approval for all授权等。最近,有两位CUP家人先后遭受到同样类型的网站诈骗,导致财产受到损失。第一位家人受骗时,我在dc内进行了简短的分析,可惜还是出现了第二位受害者。再一再二不再三,为了不让相同的悲剧重演,本文以这两位家人的遭遇作为案例,针对NFT,ETH drainer类网站进行分析,以帮助大家学习如何一步一步识别钓鱼网站,保护自己财产的安全。 声明:本人并非Solidity及智能合约代码相关从业者,如有错误请指正。 Drainer指自动抽取账户余额的程序,通常会监测被盗账户地址的余额,余额一旦超过设定的阈值就会触发,将被盗账户的资产转入收款钱包。Drainer类与我们之前常讨论的set approval for all 表现形式有一定区别。这里先介绍一下后者。 Set approval for all之后,钓鱼网站通常还会要求再次授权以支付gas fee 来转移资产。有时会在确认授权之后再次连续弹出授权支付gas fee的界面来造成上次支付未成功、卡顿的假象(实际上上一次已经在进行或成功了,新的授权是转移另外资产的。通常每有一类NFT、或代币就需要一次授权。这类钓鱼网站会对全部财产的价值进行排序,降序依次发出授权。如果你一直按reject拒绝,他会一直重复不断地在小狐狸里面弹出授权请求,除非在小狐狸设置里断开与该网站的连接)。这类诈骗通常会使你的财产立即被转走。受骗人通常会在连续多次授权后察觉异样,发现自己的资产被盗 (我本人经历过此类钓鱼网站,由于严格的钱包隔离,损失不到0.1E)。 而Drainer类的钓鱼网站与approval for all不同,由于drainer有一定的余额触发限制,因此往往在很久之后向账户转入一笔eth时才会转走你的资产。所以这种手段无声无息,有时会难以找到财产丢失的原因。而且这类手段通常只针对ETH,因此难以在Token approval网站中查到踪迹。由于其隐秘性,用户进入这类网站后mint等操作都已经完成,钱包里也出现了对应的NFT,却仍并不知道自己的钱包已经被盯上了。等eth余额莫名其妙的消失,才发觉自己的账户被盗。 本文就以Mercedes Benz NFT 这个钓鱼网站为例,一步一步教大家如何去辨别钓鱼网站,下列的步骤只要做到了任何一步,就能挽救你的资产!

1.对信息来源保持警觉

无论是free mint,免费空投,还是所谓的百倍图狗,都请保持批判性思维,严格确认消息的来源及可信度,千万不要沉浸于未来暴富的幻想。 本人将这一条列在了第一位,这是各位点进钓鱼网站之前所必经的一步。如果能谨慎的判断信息的可信度,不点不可靠的链接,后面的步骤就都没什么说的必要了。然而最简单的这一步往往做起来是最难的。我们有时候很难判断链接的可信度。 这里给大家出三个选项,大家可以判断一下,哪一个的可信度最高? a) 官方Discord中MOD所发的free mint链接 b) Opensea官网项目介绍中的链接 c) 有50k关注的某项目官方推特所发的链接 很可惜,以上三个链接都并不是100%可信的。MOD的dc账号可能被盗 (Mod在任何时候都不会主动私信);Opensea官网的项目本身可能就是欺诈项目,Opensea没有义务对项目进行检查;项目推特的粉丝、评论也可能都是骗子刷的。去中心化的世界就是这样,你必须保持警觉,自己保护好自己。 显然,我们并不能保证每次都做正确的判断,所以后面的步骤也十分必要。

2. 基于网站设计、外观进行初步判断

钓鱼网站的目的是卷钱跑路,因此不会在网页设计上耗费太多心血,毕竟前端、美工这些都是钱,骗子不会做吃力不讨好的事情。所以,通过网站设计,我们就可以大体上判断出一个网站是否为钓鱼网站。

上图是奔驰钓鱼网站的主界面。各位看到这个界面的初印象是什么? 毫无规划的分区设计:所有的内容挤在中间一小块 杂乱的背景图:分辨率低,颜色影响网站阅读 一个正规的NFT项目的网站是什么样的? Cheers UP

  1. World of Women

  1. Yuga Labs

简约大气的网页布局,精致的动画、美工,详细的路线图,合约地址,使用条款,免责声明。 可能细心的人注意到,上面奔驰的钓鱼网站也列出了使用条款

但是点进去的网站是什么呢?是梅赛德斯奔驰的官网,骗子只是做了个简单的桥接。 另一位受害者的网址我也截了个图,大家来看一下。和这个奔驰的界面不能说差不多吧,只能说一模一样。一样的字体,一样的案件图标,一样的页面布局……

所以,看到这种不走心的设计,请直接关掉网页!

3. 借助非钱包授权类操作来基本确认

非钱包授权类操作指的是不连接metamask钱包,通过一些极为基础的操作来辅助你判断。 例如奔驰的网站中,是无法使用右键弹出菜单栏的。同时F12、ctrl+U这类查询网页代码、调出开发者模式的快捷键都是被禁用的。 正规的网站是绝对不会禁用这些按键的!钓鱼网站禁用的目的是为了防止你打开控制台去看它的代码。我们后面会通过查找网页源码的方式来实锤钓鱼网站,这里暂且略过。 所以,如果你进到了某个free mint网站,没有办法使用上述的快捷键,99%就是钓鱼网站。哪个正常的网站会禁用你的右键呢??? 此外,还可以试着链接一个空钱包,如果点击mint按钮没有任何反应,则说明网站已经暗中检测了你钱包的余额,如果余额过小,就不会触发后续操作。

4. 查看网页源代码、浏览器开发者工具来实锤钓鱼网站

通常利用F12, Ctrl+U,右键检查等方式,就能打开开发者模式查询网页的源码。在这些快捷键被禁用时,需要在浏览器设置中找到开发者工具来进入开发模式。

点击开发者工具后,网页右侧会出现一串代码。

我们并不用去阅读这些复杂的代码,只需要查找.js后缀名的部分,这类文件存储着一些关键的信息! 例如,这里我们找到一个./settings.js的部分

我们可以在网址后面输入这个部分来进入,即.../settings.js 这个文件里记录了一些信息,例如: 接收地址:0xE5e5a2926b282A9b19015b212cF2974bdF5BBa08 Drain相关的函数,包含触发阈值、接收地址等条件。

我们可以去etherscan查询一下这个地址的交易记录。在最近的一段时间内有很多地址都向这个接收地址转移了ETH。

看到这里,后面就不需要多说了,至此就已经百分百肯定这是一个drainer类的钓鱼网站了。 .js文件的命名千奇百怪,可能很难定位到上述settings.js这一包含接受钱包地址的文件。例如你还可以找到.../src/js/antiF12.js 这个.js文件

如果有一定代码阅读经验的话,不难看出这个是禁用各类按键的代码。 根据我个人经验推断,这类drainer钓鱼网站的源码都基本同源,可能是同一人设计,经不同人使用,因此这些.js文件的命名方式都一模一样。所以直接在网站后面加上/settings.js 就有一定概率直接进入。如果不行的话就只能通过开发者模式一点一点找了。

总结:

上述的步骤1、2、3、4都并不复杂,并不涉及相关专业知识,多花些时间便可辨别。如果真的很着急mint,没有花时间详细调查,请一定进行钱包隔离,用无重要资产的钱包去点未经证实的网站,切勿因小失大。 本文所述的方法可能仅仅只是钓鱼手法中的很小一部分,在去中心化的世界中做任何决定前一定要多思考,多方求证,多几个心眼,遇到拿不准的随时来社区里询问大家互相帮助。 所有的资产损失、盗窃都是发生在你授权之后。请谨慎授权,不要把钥匙轻易交给陌生人。

打开APP DoDo提供建站支持