Giới thiệu
JShunter là một công cụ dòng lệnh (CLI) được thiết kế để phân tích file JavaScript nhằm trích xuất các endpoint, API, và các dữ liệu nhạy cảm như key, token, thông tin cấu hình có thể dẫn đến lỗ hổng bảo mật. Đây là tài nguyên hữu ích cho:
- các nhà nghiên cứu bảo mật (security researchers)
- những ai làm bug bounty
- nhóm phát triển quan tâm đến việc bảo vệ mã nguồn, API, thông tin nhạy cảm.
Các tính năng chính (Features)
Dưới đây là các tính năng nổi bật của JShunter:
-
Endpoint Extraction: Tự động quét file JavaScript để tìm URL / API endpoints. (github.com)
-
Sensitive Data Detection: Phát hiện các thông tin nhạy cảm trong mã như API key, secrets, credential hard-coded. (github.com)
-
Tùy chọn linh hoạt (Customizable Options):
-
số lượng threads để xử lý đồng thời (github.com)
-
cookie khi cần xác thực (github.com)
-
proxy để định tuyến mạng khi phân tích file từ xa hoặc qua môi trường cần proxy. (github.com)
-
Đầu vào đa dạng (Flexible Input):
-
một URL đơn (github.com)
-
danh sách URL từ file text (github.com)
-
đường dẫn trực tiếp tới file JavaScript (github.com)
-
Tùy chọn đầu ra (Output Options):
-
lưu kết quả vào file (github.com)
-
xuất ra console (github.com)
Cách sử dụng (Usage)
Một số ví dụ tiêu biểu khi dùng JShunter: (github.com)
cat urls.txt | grep "\.js" | jshunter
jshunter -u "https://example.com/javascript.js"
jshunter -l jsurls.txt
jshunter -f javascript.js
Các flag / tùy chọn quan trọng
| Flag | Tên đầy đủ | Mô tả |
|---|---|---|
| -u, –url | URL | Phân tích JavaScript từ một URL cụ thể. |
| -l, –list | File danh sách | Nhập file .txt chứa nhiều URL để phân tích. |
| -f, –file | File JS | Gửi file JavaScript để phân tích nội dung trực tiếp. |
| -t, –threads | Số luồng | Cho phép xử lý song song nhiều tác vụ (mặc định là 5). |
| -c, –cookies | Cookies | Hỗ trợ phân tích file JS mà cần xác thực bằng cookie. |
| -p, –proxy | Proxy host:port | Dùng proxy khi phân tích, ví dụ để định tuyến qua Burp Suite. |
| -nc, –no-color | Không màu | Vô hiệu hóa màu trong đầu ra. |
| -q, –quiet | Im lặng | Giảm bớt output không cần thiết như ASCII art. |
| -o, –output | File đầu ra | Ghi kết quả phân tích ra file. |
| -r, –regex | Biểu thức regex | Lọc các endpoint theo mẫu regex do người dùng định nghĩa. |
| –update, –up | Cập nhật | Cập nhật công cụ lên phiên bản mới nhất. |
| –ep | Extract endpoints | Tính năng chuyên để trích endpoint từ file JavaScript. |
| –skip-tls | Bỏ kiểm TLS | Bỏ xác minh chứng chỉ TLS nếu cần (ví dụ khi dùng proxy không tin cậy). |
| -h, –help | Trợ giúp | Hiển thị các tùy chọn, hướng dẫn sử dụng. |
Cấu trúc nội bộ & công nghệ
-
Toàn bộ mã viết bằng Go (Golang). (github.com)
-
Bao gồm các file chính như:
-
jshunter.go(logic chính) (github.com) -
patterns.jsonchứa các mẫu (patterns) được sử dụng để nhận dạng endpoint hoặc dữ liệu nhạy cảm. (github.com) -
go.modquản lý dependency. (github.com) -
Giấy phép: MIT License — cho phép dùng, thay đổi, phân phối lại (theo điều khoản MIT). (github.com)
-
Phiên bản mới nhất là v0.3 (tính đến ngày hiện tại). (github.com)
Ưu điểm & hạn chế
Ưu điểm
- Nhanh và nhẹ: Việc viết bằng Go giúp thực thi nhanh, tài nguyên thấp, phù hợp khi xử lý nhiều file JS hoặc file lớn.
- Đa dạng đầu vào & cấu hình: Có thể dùng URL, file, list, hỗ trợ proxy, cookies… rất linh hoạt với nhiều tình huống thực tế.
- Tập trung bảo mật: Không chỉ trích endpoint mà còn phát hiện key/API secret, giúp phát hiện lỗ hổng tiềm ẩn.
- Output dễ dùng: Có lệnh lưu file, lọc regex… giúp người dùng dễ tiếp tục xử lý kết quả (ví dụ trong bug bounty, pentest).
Hạn chế
- Phụ thuộc vào patterns: Nếu
patterns.jsonkhông đầy đủ hoặc thiếu mẫu đặc thù, có thể bỏ sót endpoint/dữ liệu nhạy cảm. - Xác thực phức tạp: Dùng cookie hay proxy chỉ hỗ trợ phần xác thực đơn giản; nếu JS phức tạp (dynamically loaded, obfuscated, mã hóa…), công cụ có thể không phát hiện hết.
- Không phải GUI: Công cụ CLI, nếu người dùng muốn giao diện hoặc tích hợp trong môi trường đồ họa thì phải thêm/viết wrapper.
- TLS khi bị skip có rủi ro: Khi dùng
--skip-tls, nếu không cẩn thận có thể bị MITM (Man‑in‑the‑middle) hoặc kết nối không an toàn.
- keyword:
JShunter,JavaScript endpoint extraction tool,sensitive data detection JS,bug bounty tools,CLI JS security tool.
Kết luận
JShunter là một công cụ hiệu quả cho mục đích bảo mật mã JavaScript, đặc biệt có ích trong bug bounty và pentesting. Với thiết lập đúng, patterns phù hợp, nó có thể giúp tìm nhanh các điểm nguy hiểm tiềm ẩn như endpoint lộ lọt, key cứng trong mã. Dù có một số hạn chế (ví dụ với mã JS động hoặc được obfuscate), nhưng về tổng thể nó là công cụ đáng kể để bổ sung vào bộ công cụ bảo mật của lập trình viên / chuyên gia an ninh.
Source link: cc1a2b/JShunter






