JavaScript hijacking - Lỗ hổng "chết người" của Web 2.0

Các nhà nghiên cứu về bảo mật đã tìm thấy một dạng tấn công mới thông qua Web chỉ nhằm vào các ứng dụng Ajax đang rất được ưa chuộng trong trào lưu Web 2.0.

Foritfy Software, hãng đã tìm ra lỗ hổng mới trên với tên gọi “JavaScript hijacking” cho rằng hầu hết các bộ công cụ (toolkit) Ajax đều có lỗi này.

JavaScript hijacking cho phép những kẻ tấn công trái phép đọc được dữ liệu nhạy cảm từ các ứng dụng bị lỗi bằng phương pháp tương tự như phương pháp thường được sử dụng để tạo các mashup (một dạng ứng dụng web kết hợp ít nhất hai dịch vụ từ các trang Web khác hẳn nhau)” – Chess viết trong một tài liệu hướng dẫn (whitepaper) đã được công bố.

Mọi người đều cho rằng sự phát triển của mô hình lập trình Web Ajax chỉ có thể làm gia tăng các lỗi bảo mật đã có. Rất ít người nghĩ nó có khả năng gây ra một lỗi bảo mật mới, Brian Chess, “kiến trúc sư trưởng” của Fortify nói.

Phương pháp thiết kế ứng dụng web Ajax sử dụng cách thức truyền dữ liệu dưới nền của mỗi trang, không cần thiết phải làm mới (refresh) toàn bộ lại trang mà người dùng đang tương tác. Điều này tạo cho người dùng cảm giác các ứng dụng Web giống như các ứng dụng desktop. Gmail là một trong các ứng dụng Web như thế.

Bằng cách khai thác các lỗ hổng “JavaScript hijacking”, kẻ tấn công có thể lấy được thư từ hộp thư Gmail của nạn nhân hoặc có thể truy cập dữ liệu được truyền qua ứng dụng Ajax.

Mặc dù Ajax là viết tắt của “Asynchronous JavaScript and XML” (JavaScript không đồng bộ và XML) nhưng không nhất thiết phải sử dụng XML để truyền tải. Bạn có thể sử dụng HTML, văn bản không định dạng (plaintext) hoặc JavaScript.

Theo Chess, vấn đề nằm ở chính chỗ này. Khi ứng dụng sử dụng định dạng dữ liệu JavaScript (viết tắt là JSON) thay vì XML để truyền dữ liệu giữa trình duyệt và máy phục vụ Web, nó sẽ được trình duyệt xử lý theo một cách khác với thông thường.

Các trình duyệt sử dụng các qui tắc để hạn chế nơi dữ liệu HTML được miền gửi tới gọi là “chính sách cùng một nguồn” ("same origin policy"), nhưng qui tắc này bị bỏ qua khi dữ liệu có dạng JavaScript.

Một website hoàn toàn có khả năng chạy các dữ liệu JavaScript đang đặt trên một miền khác. Đây là kĩ thuật được sử dụng trên các ứng dụng Google Adsense hay Google Maps.

Hiện tại Fortify khẳng định rằng kẻ tấn công có thể khai thác lỗ hổng này để đăng nhập vào các ứng dụng Ajax, đóng giả là các nạn nhân và nhận dữ liệu mà ứng dụng này cung cấp bình thường dưới dạng JSON.

Ví dụ về một trường hợp tấn công, một nạn nhân khi đã xác thực vào ứng dụng Ajax sẽ có phần cookie đăng nhập trên trình duyệt của mình, sau đó nạn nhân này bị lừa truy cập vào trang web của kẻ tấn công. Trang web này có chứa các đoạn mã JavaScript thực hiện các lời gọi tới ứng dụng Ajax. Dữ liệu nhận được từ ứng dụng sẽ được gửi đến cho kẻ tấn công.

Nếu ứng dụng Ajax là một dịch vụ Webmail, kẻ tấn công có thể lấy được nội dung của hộp thư đến hoặc sổ địa chỉ. Thực vậy, các nghiên cứu này của Fortify đã dựa trên kết quả tìm thấy được trước đó của Jeremiah Grossman về lỗi tương tự trong ứng dụng Gmail vào năm ngoái.

Theo Fortify, có 11 trong số 12 nền tảng (framework) họ đã kiểm tra không có khả năng chống đỡ được những tấn công dạng này. Tuy nhiên công ty này đã không kiểm thử trên các ứng dụng đang hoạt động.

Các nền tảng bị lỗi gồm có: Microsoft ASP.NET AJAX (còn gọi là Atlas), XAJAX và Google Web Toolkit, Prototype, Script.aculo.us, Dojo, Moo.fx, jQuery, Yahoo! UI, Rico, và MochiKit.

Theo Chess, những nhà cung cấp này đã được thông báo và họ sẽ sửa lỗi trong những thư viện sắp được tung ra. Các trang whitepaper đang được phát hành để giúp những người lập mã đã từng viết các đối tượng Ajax có thể xây dựng thêm các bộ chống đỡ tương tự.

Vì Ajax đang ở thời kì đầu, nên đây chưa hẳn là một vấn đề lớn như hiện tượng tràn bộ đệm khi mới được tìm ra, Chess nói. Không có nhiều ứng dụng Ajax lớn cần phải sửa lỗi. Do đó hiện nay Fortify muốn công khai kết quả tìm kiếm của mình càng rộng rãi càng tốt để loại bỏ được vấn đề này ngay từ đầu.

Hợi Lê

Từ khóa liên quan:
TIN CŨ HƠN
Video quay vụ tử hình Saddam phát tán trên Internet

Video quay vụ tử hình Saddam phát tán trên Internet

Mặc dù chính quyền Iraq không công bố bất kỳ video nào liên quan đến vụ tử hình cựu Tổng thống Saddam Hussein, nhưng những hình ảnh ông Saddam bị treo cổ vẫn xuất hiện trên Internet. Một số hãng truyền hình còn sử dụng những hình ảnh trong các bản tin của

Đăng ngày: 10/03/2026
Tên miền .xxx có bị “xếp xó” thêm lần nữa?

Tên miền .xxx có bị “xếp xó” thêm lần nữa?

ICANN đang chuẩn bị bỏ phiếu cho bản dự thảo về tên miền .xxx - khu “đèn đỏ” dành cho các trang web khiêu dâm. Tuy nhiên, lần này, tổ chức lại tiếp tục vấp phải những phản ứng mạnh mẽ từ phía các ông chủ của ngành “công nghiệp khiêu d&aci

Đăng ngày: 08/02/2026
NTT Resonant - công cụ search độc đáo của Nhật Bản

NTT Resonant - công cụ search độc đáo của Nhật Bản

Tập đoàn Bưu chính viễn thông Nhật Bản NTT vừa tiến hành một cuộc kiểm tra công cụ tìm kiếm thông tin trên Internet. Công cụ tìm kiếm NTT Resonant mang nét đặc thù mới, các kết quả tìm kiếm thông tin chỉ hiển thị trên một trang d

Đăng ngày: 18/08/2025
Những điều cần biết về pin lithium-ion và cách tránh chai pin

Những điều cần biết về pin lithium-ion và cách tránh chai pin

Đây là những phương pháp chống chai pin có cơ sở khoa học dựa trên đặc tính của pin lithium-ion.

Đăng ngày: 04/08/2025
Cách đơn giản để giữ bí mật các file cá nhân

Cách đơn giản để giữ bí mật các file cá nhân

Chỉ có một cách để giữ cho các file một cách bí mật đó là mã hóa chúng. Encrypting File System (EFS) trong hầu hết các thế hệ của Windows Vista, XP, 2000 mã hóa nội dung các file và thư mục, làm cho chúng trở lên khó khăn đối với những ng

Đăng ngày: 03/07/2025
20 trang web kỳ quặc trên thế giới

20 trang web kỳ quặc trên thế giới

Bạn sẽ không bao giờ biết tới những trang web kỳ quặc này cho đến khi..... bạn thực sự cần chúng.

Đăng ngày: 16/06/2025
Một số thủ thuật khi in văn bản trong MS Word

Một số thủ thuật khi in văn bản trong MS Word

MS Word: Trong thư liên hệ gửi về ban quản trị QuanTriMang.com có một số bạn hỏi về cách in tài liệu trong Word như: Làm thế nào để in được 4 trang văn bản trên cùng 1 mặt giấy? Làm thế nào để khi in 2 trang văn bản ở 2 mặt của tờ giấy có lề bên trái cùng kích thước để khi đóng gáy không bị mất chữ... Sau đây QuanTriMang.com sẽ hướng dẫn 1 số thủ

Đăng ngày: 15/08/2024
Khoa Học News