Tấn công Standard JavaScript

Một phần của tài liệu tìm hiểu về tấn công ứng dụng web (Trang 45 - 47)

- Các biện pháp đối phó: Hành động có thể được thựchiện bởi người dùng và tổ chức để hạn chế rủi do Internet Explorer và Firefox hiện chiếm đến 95% trong tổng số các trình duyệt đang được sử dụng Tự động

5.1.1Tấn công Standard JavaScript

5. Tấn công quản lý Password trong IE và Firefo

5.1.1Tấn công Standard JavaScript

Assumption: Kẻ tấn công có được các logic về quá trình đăng nhập của người dùng

Attack Result: Kẻ tấn công lưu lại quá trình log in của người dùng, nhưng muốn biết chính xác thông tin về tài khoản và mật khẩu phải cần quá trình giải mã và xem các thông tin đó bằng cách sử dụng JavaScript. Collateral damage: Sau khi đã truy cập và giải mã được các tài khoản và mật khẩu của người dùng sử dụng để đăng nhập vào các web site hay các ứng dụng khác.

Sử dụng JavaScript, nó có thể xem được các mật khẩu đã được lưu lại của tất cả các trang web qua Document Object Model (DOM). Khi một người dùng đăng nhập vào một trang web họ có username và password sau quá trình đăng nhập họ save lại mật khẩu và tài khoản trong hệ thống và đặc biệt mật khẩu của họ được hiển thị với ký tự ẩn (*) hoặc (●). Đó là cái người dùng nhìn thấy, nhưng các trình duyệt web sẽ phải hiểu những ký thực thực tế được sử dụng trong bảng mã ASCII và dùng thông tin thực tế đó để đăng nhập vào các ứng dụng web. Với việc sử dụng các ký tự (*) hoặc (●) là một việc rất tốt có thể không cho kẻ đứng ngoài hay các phần mềm chụp màn hình nhìn thấy được mật khẩu của chúng ta.

Để thực hiện được việc tấn công, các kẻ tấn công thông minh sử dụng JavaScript viết tích hợp vào trong trang HTML, hoặc có thể chạy Script sau khi một trang web được tải về, cho phép kẻ tấn công có thể nhìn được toàn bộ username và password của người dùng.

Hìng 2. JavaScript Document Object Model (Khai thác mật khẩu của người dùng).

Mã của đoạn JavaScript cho quá trình này vô cùng đơn giản và nó có thể tích hợp trong đoạn HTML, hay chạy như một bookmarklet. Một Bookmarklet là một chương trình JavaScript có thể chứa bởi các đường link URL và có thể chạy sau khi một trang web được chạy.

Sử dụng một chương trình logic, một kẻ tấn công có thể sử dụng cho toàn bộ các mật khẩu, các thông số thể hiện mật khẩu bằng phương thức ghi lại các ký tự thực tế đựoc thể hiện bởi dấu hoa thị khi người dùng sử dụng để đăng nhập vào trang web, bằng một "click" trong một đường dẫn người dùng đã vô tình để lộ toàn bộ mật khẩu của mình.

javascript:( function(){ var s,F,j,f,i;

s = "";

F = document.forms;

for(j=0; j< this on forms in passwords alert(?No else s); +="f[i].value" :\n\n? alert(?Passwords (s) if } ?\n?; s ?password?) (f[i].type.toLowerCase()="=" { ++i) i

Hình 3. Đoạn mã JavaScript dùng để khám phá ra mật khẩu của người dùng

Một phần của tài liệu tìm hiểu về tấn công ứng dụng web (Trang 45 - 47)