Một vài công cụ để Deobfuscation JavaScript

DDos

VIP Members
22/10/2013
524
2.191 bài viết
Một vài công cụ để Deobfuscation JavaScript
Obfuscation là một kỹ thuật để làm cho mã ban đầu khó đọc và khó hiểu, nhưng không thay đổi chức năng của nó. Kỹ thuật obfuscation được áp dụng cho mã nguồn của các ngôn ngữ lập trình thông dịch (một loại ngôn ngữ lập trình mà hầu hết các hiện thực của nó thực thi lệnh trực tiếp và tự do mà không cần biên dịch trước chương trình sang lệnh ngôn ngữ máy). Chúng ta có thể thấy thuật ngữ obfuscation trong nhiều ngôn ngữ như PHP, JavaScript, Python...

ssss.jpg

Trong đó, rất phổ biến để bắt gặp một đoạn mã JavaScript sử dụng kỹ thuật obfuscation trong các trang web. Nguyên nhân là mã JavaScript được trình duyệt tải trực tiếp và người dùng có thể truy cập vào các tệp lệnh này.

Obfuscation sử dụng các kỹ thuật khác nhau. Một trong số đó là việc loại bỏ các khoảng trắng, nhận xét khỏi tệp JavaScript và kết hợp các chuỗi ký tự. Việc này không chỉ được sử dụng để làm rối mã mà còn để tăng tốc độ tải xuống các tập lệnh. Hình dưới đây là một ví dụ về Obfuscation của mã JavaScript.

vvv.png

Thông thường, khi bị làm rối, mã sẽ biến thành một tập hợp các hàm và dòng vô nghĩa không thể hiểu được, nhưng mã mới này hoạt động chính xác giống như mã nguồn ban đầu.

Kỹ thuật Obfuscation được sử dụng bởi các nhà phát triển để che giấu mã và bảo vệ ý tưởng của mình không bị đánh cắp. Trong khi đó, hacker sử dụng kỹ thuật này để làm cho quá trình phân tích trở nên khó khăn hơn.

Deobfuscation là việc sử dụng nhiều phương pháp khác để làm cho các mã đã bị làm rối trở về nguyên dạng ban đầu hoặc trở thành một đoạn code mà người phân tích có thể dễ đọc và hiểu. Vì có nhiều phương pháp làm rối mã, nên cũng có nhiều phương pháp và công cụ để deobfuscation mã, với các khả năng và mức độ hiệu quả khác nhau.

Deobfuscation là cần thiết cả trong phân tích mã độc và thử nghiệm thâm nhập một trang web mục tiêu để hiểu logic hoạt động của nó và tìm kiếm các lỗ hổng.

Dưới đây là một vài công cụ có thể hữu dụng trong quá trình deobfuscation JavaScript.

1. Sử dụng công cụ dành cho nhà phát triển của trình duyệt

Trong Chrome, khi truy cập một trang web, bạn có thể sử dụng nút F12 để bật công cụ dành cho nhà phát triển. Ví dụ tập lệnh JavasScript swiper-bundle.min.js

Screenshot 2022-03-06 104342.png

Để làm cho tập lệnh này trở nên dễ đọc hơn, bạn có thể bấm vào dấu { } để làm cho mã trở nên dễ đọc hơn

Screenshot 2022-03-06 104625.png

2. Sử dụng công cụ JStillery

JStillery là một trình deobfuscation JavaScript nâng cao. Việc sử dụng công cụ rất dễ dàng, bạn chỉ cần dán đoạn mã bị obfuscation và bấm nút deobfuscation là xong. Bạn có thể sử dụng online tại địa chỉ: https://mindedsecurity.github.io/jstillery/

Screenshot 2022-03-06 105048.png
3. Sử dụng công cụ de4js

de4js là một trình deobfuscation và unpack mã nguồn JavaScript. Các tính năng của công cụ này bao gồm:
Screenshot 2022-03-06 110501.png

Bạn có thể sử dụng công cụ trực tuyến tại địa chỉ: https://lelinhtinh.github.io/de4js/
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: suriv
S
  • suriv
hay!
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: WhiteHat Team
Comment
Thẻ
deobfuscation javascript obfuscation
Bên trên