Gần đây phát hiện ra một mô hình đáng cảnh báo. Thông qua so sánh dữ liệu bất thường, nghi ngờ đây là một biến thể của "tấn công đúc lần đầu".
Trước tiên xem hiện tượng dữ liệu: sau khi bỏ 0.001 BNB để mua vào, nhận được 1000 mã token (tương đương $0.3), nhưng khi rút ra lại nhận được 15 triệu mã token (giá trị $450). Lợi nhuận gấp 1500 lần, điều này đã vượt xa bất kỳ phạm vi trượt giá hoặc sai số toán học bình thường nào, chắc chắn có điều gì đó đằng sau.
Phương thức tấn công khả dĩ nhất là gọi trực tiếp hàm mint. Một số hợp đồng token kém chất lượng trong thiết kế không kiểm tra quyền hạn, ai cũng có thể gọi trực tiếp hàm đúc:
function mint(address to, uint amount) public { _mint(to, amount); }
Như vậy, kẻ tấn công chỉ cần mua một chút token (để lại ghi chú địa chỉ), rồi gọi trực tiếp hàm mint để tạo token cho chính mình, cuối cùng dùng những token xuất hiện từ hư không này để thêm hoặc rút thanh khoản, toàn bộ quá trình trông giống như thao tác bình thường.
Một khả năng khác là lỗ hổng thuế chuyển khoản. Một số token đặt mức thuế chuyển khoản rất cao (ví dụ 20%), trên bề mặt thì A chuyển B 100 token, B nhận được 80, 20 bị đốt. Nhưng nếu kẻ tấn công trở thành nhà cung cấp thanh khoản, thì pool chuyển khoản cho hắn có thể do lỗi tính thuế mà sinh ra token bổ sung.
Ngoài ra còn cần phòng tránh tấn công đồng bộ số dư. Kẻ tấn công sau khi thêm thanh khoản có thể lén lút tăng số dư token của mình ở nơi khác, rồi khi rút thanh khoản sẽ rút ra được nhiều giá trị hơn.
Tất cả những điều này đều dựa trên việc bóp méo logic của hợp đồng, việc phòng ngừa chủ yếu vẫn dựa vào chất lượng kiểm toán hợp đồng token và kiểm soát quyền hạn đã được thực hiện đúng mức hay chưa.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
7 thích
Phần thưởng
7
6
Đăng lại
Retweed
Bình luận
0/400
GhostChainLoyalist
· 6giờ trước
Lại là bộ chiêu trò này, hàm mint không kiểm tra quyền thật là vô lý... đã sớm nên được kiểm toán rồi
Xem bản gốcTrả lời0
BlockImposter
· 01-04 21:48
1500 lần? Chết tiệt, dữ liệu này thật thái quá và lỗ hổng đúc tiền thích hợp là một lỗi thuế đang chơi thủ thuật
----
Đó là một hợp đồng tồi tệ không làm tốt công việc kiểm tra quyền và những nhà phát triển này lẽ ra phải được yêu cầu đến chuỗi để học lập trình
----
Thói quen này quá tàn nhẫn, trực tiếp đúc coin rồi trả lại thanh khoản, người bình thường không thể nhìn thấy chút nào
----
Có rất nhiều lỗ hổng trong thuế chuyển nhượng? Tôi cảm thấy rằng hầu hết các bên dự án chưa bao giờ nghĩ đến vấn đề này
----
Nói một cách thẳng thắn, kiểm toán là quá quan trọng, nhưng thật không may, hầu hết các đồng tiền mới đều được aped trực tiếp
----
Tôi chưa nghĩ đến góc tấn công đồng bộ cân bằng, không có gì ngạc nhiên khi luôn có những người kiếm được nhiều tiền một cách khó hiểu
----
Mã hợp đồng có giống như thế này không? Có ai thực sự dám viết như thế này không, hay tôi không biết gì?
----
Hãy nhớ các thói quen này và kiểm tra kiểm soát quyền trước khi lên xe buýt vào lần tiếp theo bạn xem dự án
----
Mẹ kiếp, vậy những người tăng gấp 10 lần ngay khi chúng được tung ra có thể đã bị tấn công? Hoặc tôi không nhìn thấy nó
Xem bản gốcTrả lời0
FalseProfitProphet
· 01-04 21:47
Ồ, lại là lỗ hổng hàm mint nữa rồi, chiêu này tôi đã gặp quá nhiều, là tiêu chuẩn của các dự án bỏ dở giữa chừng rồi
Chênh lệch 1500 lần? Đơn giản là mint tạo coin đi, còn có thể bỏ qua kiểm toán hợp đồng luôn rồi
Xem bản gốcTrả lời0
WagmiWarrior
· 01-04 21:45
Ôi, 1500 lần? Một hợp đồng có thể tồi tệ như thế này, kiểm tra quyền là tất cả các đồ trang trí
---
Mint được gọi công khai, điều này thực sự tuyệt đối, nó thái quá
---
Vì vậy, việc kiểm toán các hợp đồng tiền tệ nhỏ đều mang tính hình thức và lẽ ra phải được rút lại từ lâu
---
Đây là lần đầu tiên tôi nghe nói về lỗi trong thuế chuyển nhượng và phải mất rất nhiều sự phát triển điên rồ để tìm ra nó
---
Có rất nhiều lỗ hổng trong hợp đồng, khai thác thanh khoản thực sự là cờ bạc và tôi cười nhạo bất kỳ ai nói lợi nhuận ổn định
---
Không có gì ngạc nhiên khi gần đây đã có rất nhiều tiết lộ về shitcoin, hóa ra tất cả họ đều đang chơi bộ thủ thuật này
---
Dám ra mắt mà không có sự kiểm soát tại chỗ, sự phát triển này có nghiêm trọng không?
---
15 triệu xuất hiện từ không khí loãng, đây không phải là một cỗ máy in tiền sao, nó quá mỉa mai
---
Vì vậy, đồng tiền mới vẫn phải nhìn vào báo cáo kiểm toán, nếu không nó thực sự đang đùa với lửa
---
Sự kết hợp giữa thuế chuyển nhượng cộng với lỗ hổng thẩm quyền, có bao nhiêu nhà đầu tư nhỏ lẻ phải bị giết
Xem bản gốcTrả lời0
MEVHunterNoLoss
· 01-04 21:37
Chết rồi, 1500 lần sao? Thật là hợp đồng tệ đến mức nào vậy, chẳng kiểm tra quyền hạn luôn à?
Xem bản gốcTrả lời0
RunWhenCut
· 01-04 21:22
Cheng, bộ này lại sao? Mint không có quyền kiểm tra, nó thực sự tuyệt vời, thoạt nhìn, đó là một hợp đồng rác được tạo ngẫu nhiên bởi một anh chàng Ấn Độ
---
1500 lần? Anh ơi, đây không phải là sơ hở, đây là công khai cướp tiền
---
Thuế chuyển nhượng thậm chí còn thái quá hơn, và ngay sau khi lỗi nhóm xuất hiện, nó trực tiếp biến thành một cỗ máy in tiền, và có cảm giác như có những thủ thuật mới mỗi tuần
---
Kiểm toán? Review P, hầu hết các bên dự án đều miễn cưỡng chi tiền, được không?
---
Đó là lý do tại sao tôi chỉ mua các token đã được đánh giá hơn hai lần và tôi sẽ không chạm vào những token khác cho dù APY có cao đến đâu
Gần đây phát hiện ra một mô hình đáng cảnh báo. Thông qua so sánh dữ liệu bất thường, nghi ngờ đây là một biến thể của "tấn công đúc lần đầu".
Trước tiên xem hiện tượng dữ liệu: sau khi bỏ 0.001 BNB để mua vào, nhận được 1000 mã token (tương đương $0.3), nhưng khi rút ra lại nhận được 15 triệu mã token (giá trị $450). Lợi nhuận gấp 1500 lần, điều này đã vượt xa bất kỳ phạm vi trượt giá hoặc sai số toán học bình thường nào, chắc chắn có điều gì đó đằng sau.
Phương thức tấn công khả dĩ nhất là gọi trực tiếp hàm mint. Một số hợp đồng token kém chất lượng trong thiết kế không kiểm tra quyền hạn, ai cũng có thể gọi trực tiếp hàm đúc:
function mint(address to, uint amount) public {
_mint(to, amount);
}
Như vậy, kẻ tấn công chỉ cần mua một chút token (để lại ghi chú địa chỉ), rồi gọi trực tiếp hàm mint để tạo token cho chính mình, cuối cùng dùng những token xuất hiện từ hư không này để thêm hoặc rút thanh khoản, toàn bộ quá trình trông giống như thao tác bình thường.
Một khả năng khác là lỗ hổng thuế chuyển khoản. Một số token đặt mức thuế chuyển khoản rất cao (ví dụ 20%), trên bề mặt thì A chuyển B 100 token, B nhận được 80, 20 bị đốt. Nhưng nếu kẻ tấn công trở thành nhà cung cấp thanh khoản, thì pool chuyển khoản cho hắn có thể do lỗi tính thuế mà sinh ra token bổ sung.
Ngoài ra còn cần phòng tránh tấn công đồng bộ số dư. Kẻ tấn công sau khi thêm thanh khoản có thể lén lút tăng số dư token của mình ở nơi khác, rồi khi rút thanh khoản sẽ rút ra được nhiều giá trị hơn.
Tất cả những điều này đều dựa trên việc bóp méo logic của hợp đồng, việc phòng ngừa chủ yếu vẫn dựa vào chất lượng kiểm toán hợp đồng token và kiểm soát quyền hạn đã được thực hiện đúng mức hay chưa.