Home / Sharenewshort / JS Snitch: Công Cụ Giám Sát Request JavaScript Dành Cho Pentester & Dev

JS Snitch: Công Cụ Giám Sát Request JavaScript Dành Cho Pentester & Dev

JS Snitch Demo
JS Snitch UI

Giới thiệu

JS Snitch là một extension mã nguồn mở giúp bạn theo dõi toàn bộ request được sinh ra bởi JavaScript trên trình duyệt – bao gồm fetch, XMLHttpRequest, và thậm chí cả WebSocket. Đây là công cụ nhỏ gọn nhưng cực kỳ mạnh khi bạn muốn kiểm tra rò rỉ dữ liệu, hành vi bất thường của web app, hoặc phân tích request cho mục đích pentest.

JS Snitch dùng để làm gì?

Công cụ này sinh ra để giải quyết một vấn đề quen thuộc: DevTools đôi khi không hiển thị đầy đủ request hoặc không bắt được các API bị override. JS Snitch bám thẳng vào các hàm JavaScript ở tầng mã nguồn, giúp:

  • Quan sát request ở mức client-side thật sự.
  • Xem từng payload được gửi đi.
  • Phân tách request theo từng tab để dễ phân tích.
  • Ghi log để kiểm tra lại hoặc lưu phục vụ pentest.

Cách thức hoạt động

JS Snitch hoạt động rất đơn giản nhưng hiệu quả:

  1. Inject content script vào trang để hook các API như fetchXMLHttpRequest.
  2. Mọi request bị intercept sẽ được chuyển về background script.
  3. Background script xử lý và gửi thông tin cho giao diện popup.
  4. Bạn mở popup để xem log theo thời gian thực.

Thành phần chính của dự án

  • extension/ – phần chính của extension gồm code UI, background, content script.
  • docs/ – chứa ảnh minh họa, hướng dẫn.
  • manifest.json – file mô tả extension cho trình duyệt.

Cài đặt JS Snitch

Yêu cầu

  • Chrome hoặc Firefox
  • Bật chế độ Developer / Temporary Add-on

Cách cài nhanh

Chrome:

  1. Clone repo: git clone https://github.com/vavkamil/js-snitch
  2. Mở Chrome → Extensions → bật Developer Mode
  3. Load unpacked → chọn thư mục extension/

Sau khi load xong, biểu tượng Snitch xuất hiện và bạn chỉ cần mở trang web cần phân tích rồi bật popup để xem request.

Tính năng nổi bật

1. Theo dõi request JavaScript chi tiết

  • Ghi lại timestamp, URL, method, status code
  • Xem payload gửi đi (body)
  • Hữu ích để tìm API ẩn, endpoint bí mật

2. Hỗ trợ WebSocket

Xem từng frame được gửi/nhận – điều mà DevTools nhiều khi không hiển thị rõ.

3. Xuất log phục vụ phân tích

Bạn có thể export toàn bộ log ra JSON để phân tích ngoại tuyến hoặc đưa vào tool khác.

4. Nhẹ, đơn giản, không phụ thuộc hệ thống

Không cần build phức tạp, không yêu cầu backend.

Ưu và nhược điểm

Ưu điểm

  • Theo dõi chính xác request client-side
  • Nhẹ và dễ dùng
  • Không chiếm nhiều tài nguyên
  • Mã nguồn mở, dễ tùy chỉnh

Nhược điểm

  • Không hook được request từ service worker
  • Không giám sát được traffic cấp thấp
  • Phụ thuộc sandbox của trình duyệt

Lưu ý bảo mật khi sử dụng

  • Cẩn thận khi xuất log vì có thể chứa token hoặc dữ liệu nhạy cảm.
  • Không nên bật khi đăng nhập các tài khoản quan trọng.
  • Khi dùng pentest, hãy tuân thủ quy tắc scope để tránh log ngoài phạm vi.

Một vài cấu hình hữu ích

Lọc domain thủ công

{
  "filter": {
    "domain": "target.com",
    "method": "POST"
  }
}

Export log dạng JSON kèm entire body

{
  "export": true,
  "format": "json",
  "include_body": true
}

Kết luận

JS Snitch là một công cụ nhỏ nhưng vô cùng hữu ích cho pentester, developer và chuyên gia bảo mật. Nếu bạn cần một cách đơn giản để xem ứng dụng web đang gửi gì ra ngoài, hoặc muốn theo dõi các request ẩn mà DevTools không bắt được, đây là công cụ nên có trong bộ toolkit.

Source link: JS Snitch

Leave a Reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *