Skip to main content

Nghi vấn CHAOBUOISANG.NET; Hãy là người sử dụng Facebook thông thái

Cập nhật ngày 1/11/2013: Đã có hỗ trợ phát hiện các trang lừa đảo cho trình duyệt Google Chrome, Apple Safari và Mozilla Firefox. Xem ở cuối bài.
Cập nhật ngày 30/11/2013: Cảnh báo kẻ xấu lợi dụng Clickjacking extension để tạo "botnet".

Hôm nay đột nhiên thấy một số lượng lớn bạn của mình trong Facebook like một bài viết ở trang CHAOBUOISANG.NET, mà lại đúng một bài mình vừa đọc cách đây ít phút... Kiểm tra lại activity trong Facebook thì phát hiện ra chính tài khoản của mình cũng đã like bài viết đó. Có vẻ có nghi vấn nên đã mở Google Chrome Inspector và kiểm tra lại nhưng không có kết quả gì. Dự đoán là có đoạn mã nào đó tự bảo vệ chống bị phát hiện nên mình đã tạo Profile mới trong Google Chrome, đăng nhập vào một tài khoản Facebook khác để thử lại. Lần này thì phát hiện ra một iframe ẩn chạy theo con trỏ chuột đúng như dự đoán:


Sau khi kiểm tra kĩ hơn thì đoạn mã sinh ra iframe này nằm trong file /js/common_load.js, ý tưởng cơ bản như sau:

  1. Tạo một thẻ div với opacity là 0 (trong suốt chứ không ẩn, để vẫn nhận được các sự kiện bấm chuột). Trong thẻ này có chứa iframe của Facebook Like Button. Cập nhật cookie "_fl19" thành "_flb". Trang được like sẽ có hai trường hợp: nếu người xem đến từ Facebook thì sẽ cho like trang hiện tại (tạo viral), nếu người xem đến từ nguồn không xác định thì sẽ cho like một trang Facebook có tên Vietnam Pictures (mua bán likes?).
  2. Bắt sự kiện mousemove và di chuyển thẻ div ở trên để nút like luôn nằm ngay dưới con trỏ chuột. Bất cứ khi nào người xem bấm chuột sẽ dính nút like.
  3. Đặt interval mỗi 1ms thì kiểm tra xem đối tượng đang nhận focus có phải là fbframe hay không, nếu có thì sửa cookie "_fl19" thành "_fla". Đây là một cách khá hay để biết khi nào người xem dính bẫy.
  4. Dừng hoạt động nếu cookie "_fl19" có giá trị "_fla".
Đánh giá:
  1. Chiêu trò nham hiểm: Facebook Like Clickjacking.
  2. Che đậy khá khéo léo.
  3. Hiệu quả có lẽ là rất cao, không có số liệu nên không dám công bố nhưng dự đoán thì 10 người dùng Facebook vào trang này thì ít nhất có 5 bạn dính bẫy. Mình cũng bị dính :(

Phòng chống:
  1. Tẩy chay không bấm vào bất cứ đường dẫn nào của CHAOBUOISANG.NET
  2. Tẩy chay các trang cùng hệ thống ví dụ như MUONMAU.VN (cùng số điện thoại liên hệ). Sau khi vào xem thì phát hiện ra là tại MUONMAU.VN cũng có cài đặt đoạn mã tương tự...
  3. Tẩy chay trang Facebook Vietnam Pictures, đây là trang sẽ nhận được like nếu người xem dính bẫy. Dự đoán là chủ của trang Vietnam Pictures đã mua like từ chủ của trang CHAOBUOISANG.NET / MUONMAU.VN, việc làm này là vi phạm quy định của Facebook. Tuy nhiên đây cũng có thể là một đòn từ đối thủ của Vietnam Pictures, tung tiền ra để mua likes sau đó sẽ khiếu nại để dẹp trang Facebook này.
  4. Không sử dụng Facebook nữa (!)
  5. Cài công cụ hỗ trợ phát hiện (xem ở cuối bài).

Ý tưởng:
  1. Xây dựng danh sách các trang có hành vi tương tự để đưa vào danh sách đen.
  2. Thành lập các nhóm gửi khiếu nại để dẹp các trang này.

Đây là file HAR ghi lại các request đã được sử dụng: http://www.mediafire.com/?p83gv5he5uu3yvc

Cập nhật ngày 1/11/2013: đường dẫn tải về công cụ hỗ trợ phát hiện các trang có sử dụng phương pháp câu like này:

Comments

Popular posts from this blog

Flutter: Fixing Firebase header not found with Notification Service Extension

If you follow the FCM tutorial Send an image in the notification payload and encountered this error message: 'FirebaseMessaging/FirebaseMessaging.h' file not found You are on the right place, I'm going to show you how to fix it. My app was working fine but one day it stopped compiling. Apparently Flutter 1.20 changed the way it uses CocoaPod so the service extension no longer has the proper library configured. After some tinkering, I came up with this pod config, it has to be added to ios/Podfile below the main Runner target. target 'FcmImage' do use_frameworks! use_modular_headers! require File.expand_path('../.symlinks/plugins/firebase_core/ios/firebase_sdk_version.rb', __FILE__) firebase_sdk_version = firebase_sdk_version! pod 'Firebase/Messaging', "~> #{firebase_sdk_version}" end FcmImage is my extension name, replace it with yours We can use a hardcoded version for Firebase/Messaging pod but doing so m...

Replacing GCP with Railway for faster cold start

TL;DR I switched a Dart API from Cloud Run to Railway for a 300% faster cold start, simplified DevOps, and a straightforward fee structure. Problem I'm working on this project github.com/daohoangson/flutter_widget_from_html . It is a pub.dev package that's super handy for Flutter developers who want to seamlessly render HTML in their apps. Now, when it comes to HTML, it can get pretty dynamic, right? That's why having a playground to showcase features, troubleshoot issues, and tackle bugs is crucial. The Google team has this fantastic tool called dartpad.dev , which is just perfect for this kind of thing. However, there's a little catch - third-party packages like mine usually can't be used there (unless you have thousands of likes, as explained on  Medium ). So I decided to take matters into my own hands, forked it, then deployed try.fwfh.dev with additional package support. Initial idea since 2019 First deployment  in 2021 Cl...

IMAP module for PHP in Mac OS X Mountain Lion

So here it comes again. I have recently upgraded to Mountain Lion and for whatever reason, Apple decided to nuked all my previous PHP (among other things) configurations so I have to setup IMAP in PHP again. A simple Google search may point you to this post with detailed instruction for Lion however, some steps have been changed a bit... Step 1: Install prerequisites You may choose to download Xcode ( FREE ) from the App Store then go to menu Xcode > menu item Preferences > tab Downloads, select to install Command Line Tools OR you can go to Apple Developer  to get it, you may need to login. Step 2: Compile IMAP Get the IMAP source code from University of Washington website . Please do me a favor and check that website for the latest version, it's good practice. If you that laz y , try to click the "y" to get direct link to 2007f version. Extract the package and open the Terminal to the new directory before executing these command: make osx EXTRACFLAG...