THAO TÁC TRÊN BIẾN ẨN FORM

Một phần của tài liệu nghiên cứu một số vấn đề về bảo mật ứng dụng web trên internet (nguyễn duy thắng vs nguyễn minh thu) - 1 (Trang 39 - 42)

II.1. Khái nim

Thông tin có thể được chuyển đổi thông qua một biến ẩn của form, gọi là Hidden Form Field. Biến ẩn form không hiển thị trên màn hình trình duyệt nhưng người dùng có thể tìm thấy nội dung của nó trong “ view source ”, vì thế đây là một

điểm yếu để hacker lợi dụng bằng cách lưu nội dung trang web xuống trình duyệt, thay đổi nội dung trang và gửi đến trình chủ.

Chương 4: Thao tác trên tham số truyền

Ví dụ4.II.1-1: Form gốc có nội dung như sau:

<form action="http://www.tancong.com/cuahang.pl" method="POST"> ...

<input type="hidden" name="giaca" value="99.99"> ...

</form>

Nếu không có sự thay đổi nào thì yêu cầu đến trình chủ có nội dung :

POST /cuahang.pl HTTP/1.0 ...

giaca=99.99

Nhưng nếu hacker gán một giá trị khác cho trường “giaca” :

<form action="http://www.tancong.com/cuahang.pl" method="POST"> ...

<input type="hidden" name="giaca" value="0.99"> ... </form> thì yêu cầu sẽ thay đổi: POST /cuahang.pl HTTP/1.0 ... giaca=0.99

Ngoài việc thay đổi nội dung biến ẩn của form, hacker còn biến đổi nội dung các thành phần trong form, như chiều dài của một ô nhập dữ liệu để thực hiện việc tấn công “BUFFER OVERFLOW”, …

II.2. Mt s bin pháp khc phc

• Chỉ nên sử dụng biến ẩn của form để hiển thị dữ liệu trên trình duyệt, không

được sử dụng giá trị của biến để thao tác trong xử lí ứng dụng.

• Dùng biến HTTP_REFERER để kiểm tra nguồn gốc của yêu cầu gửi đến, tuy nhiên hacker có thể sử dụng Proxy để che dấu nguồn gốc thực của nó, vì vậy cũng không nên quá tin tưởng biến HTTP_REFERER để kiểm tra.

• Ghép tên và giá trị của biến ẩn thành một chuỗi đơn. Sử dụng thuật toán mã hoá MD5 hoặc một kiểu hash một chiều khác để tổng hợp chuỗi đó và lưu nó vào một hidden field gọi là “Chuỗi mẫu”.

Khi giá trị trong form được gửi đi, các thao tác như trên được thực hiện lại với cùng một khoá mà ta định trước. Sau đó đem so sánh với “Chuỗi mẫu”, nếu chúng không khớp nhau thì chứng tỏ giá trịtrong biểu mẫu đã bị thay đổi.

• Dùng một sessionID để tham chiếu đến thông tin được lưu trữ trên cơ sở dữ

Chương 4: Thao tác trên tham số truyền

Một phần của tài liệu nghiên cứu một số vấn đề về bảo mật ứng dụng web trên internet (nguyễn duy thắng vs nguyễn minh thu) - 1 (Trang 39 - 42)