- vừa được xem lúc

Lại hack game Blockchain, truy cập vào tài khoản bất kỳ trong game

0 0 41

Người đăng: Minh Tuấn Ngụy

Theo Viblo Asia

Kiến thức về Blockchain của mình vẫn đang hạn hẹp, nếu có câu nào hay kiến thức chỗ nào mình hiểu sai thì xin các bạn góp ý ở dưới phần comment nhé

Dạo gần đây mình cùng homie của mình cũng hay đi xiên các con game Blockchain, do trend NFT game Blockchain đang cực kỳ nổi bây giờ, nhất là Việt Nam mình có con game Axie Infinity vốn hoá hàng tỷ Biden.

Thật tiếc là ngày xưa - tháng 5 vừa rồi - một homie khác của mình cũng rủ chơi game Axie Infinity mà mình lại không chơi, chứ chơi đến bây giờ thì cũng ....
Các bạn có thể đọc bài viết tại https://viblo.asia/p/blockchain-do-bo-nen-cong-nghiep-gaming-co-hoi-hay-rui-ro-cung-loi-chia-se-ve-viec-ca-nhan-minh-dang-kiem-them-thu-nhap-bang-cach-choi-cac-blockchain-game-nhu-the-nao-LzD5daVEKjY

Cố gắng lên các bạn, nghèo thì lâu chứ giàu thì mấy đâu huhu

Thôi lòng vòng văn tự thế đủ rồi, vào chủ đề chính thôi, lẹt gâu

Metamask

Nếu ai chưa từng tiếp xúc với crypto blockchain thì cái này có vẻ lạ lẫm, chứ Metamask đã quá quen thuộc với anh em "chơi" crypto rồi, tuy nhiên không chắc là tất cả những người dùng nó đã hiểu rõ về Metamask, các ký khoá của nó, vân vân và mây mây. Nói đơn giản, Metamask là một tiện ích giúp lưu trữ cho mình khoá Private-key và hiển thị Public-key

Giao diện Metamask

Và đương nhiên là không chỉ Metamask có khả năng làm được điều này, có rất nhiều ví DEX có thể giúp chúng ta làm được điều cơ bản Metamask làm được, tuy nhiên tuỳ vào game có support nó hay không, mình thấy đa số game NFT đều hỗ trợ Metamask nên mình tập trung nói về Metamask thôi

Game hỗ trợ rất nhiều kết nối các ví khác nhau

Kết nối tới hệ thống

Điều đầu tiên, khi click vào Metamask hệ thống sẽ cho phép ta login luôn, ví dụ

Vậy thì ở đây, tại sao khi click như vậy thì hệ thống có thể cho chúng ta login vào user của chúng ta luôn, và có thể sử dụng vài tính năng cơ bản.

Để cho dễ hiểu, đây là API để server get được username của mình

Chúng ta có thể thấy thằng không hề có xác thực, chỉ đơn giản là cung cấp cho API address của mình thì server trả về username.

Khi click vào Metamask như vậy, Metamask sẽ cung cấp cho website public key ví của chúng ta (chính là địa chỉ ví đấy), website sẽ sử dụng địa chỉ ví để login vào hệ thống luôn. Giống như việc sử dụng username login vào hệ thống mà không cần sử dụng mật khẩu vậy.

Ớ thế là, ai có địa chỉ ví của mềnh là cũng có thể login vào account của mềnh à ?
Chính xác là như vậy, tuy nhiên thông tin đấy có lẽ chỉ là public thôi, khi chỉnh sửa thông tin user thì chúng ta cần phải ký 1 phát để xác thực đúng là mình đang sửa thông tin trên account của mình nữa. Việc này giống việc xác thực chữ ký điện tử vậy, khẳng định chính mình đã ký vào đó chứ không phải anh hàng xóm, hay cô bạn thân nào đó ký hộ được.

Nếu có thời gian mình sẽ bổ sung thêm về phần ký này nhé

Hack game thôi nào

Lâu lâu rồi homie của mình có gửi cho mình cái link game của người anh em láng giềng, các bạn có thể truy cập tại đây https://bidragon.io

Đường link trên chỉ là cái market thôi, muốn chơi game thì các bạn cần phải mua NFT game rồi mới chơi được.

Truy cập vào URL để chơi game https://app.bidragon.io/ mình thấy nó truy cập thẳng trực tiếp vào game luôn chứ không cần mình làm 1 hành động nào khác ?

Ớ thế thì, chắc chắn game đã không có cơ chế verify nào với account đang truy cập vào game, vậy thì mình có thể sử dụng address bất kỳ cũng có thể login vào game rồi.

Game sử dụng socket để gửi dữ liệu, Đọc code JS một chút chúng ta có thể thấy việc login rất đơn giản, gửi gói tin socket bao gồm login và password, do không cần tác động gì tới account của mình cả nên password sẽ được set bởi hệ thống, vậy thì quá trình tạo password sẽ diễn ra như thế nào

Có thể thấy rằng

_pwd = md5.hexMD5(_DAPP_SDK.openId);

Tuy nhiên cái openId kia ở đâu

Chỉ với một request đơn giản bao gồm address, secret thì mặc định là secret=Welcome%20To%20MoonGming%21, signature không có, ta có thể lấy được openId account bất kỳ rồi

Một nạn nhân xấu số trên top scoreboard được target

Server bảo OK, nhập password đi tau cho login

Nhập password là md5 của openId lấy được ở trên rồi gửi đi

Login success, bây giờ có thể thoải mái sử dụng account này rồi

Timeline

  • Ngày 25 tháng 8: Báo cáo cho đội dev bidragon thông qua telegram
  • Ngày 26 tháng 8: Dev bidragon đã fix bug, và trao thưởng cho chúng tôi một NFT Dragon cấp S.

Đương nhiên rằng nhận rồi là bán luôn lấy tiền - được 4.5BNB (đang nghèo mà)

Còn phần nữa, các bạn cùng đón đọc nhé

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 499

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 374

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 701

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 335

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 420

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 414