THAO TÁC TRÊN URL

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 (Trang 37 - 39)

II. Thao tác trong biếnấn form

III. Thao tác trên cookie

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

CHƯƠNG 4:THAO TÁC TRÊN THAM S TRUYN

DE

Thao tác trên tham số truyền là kĩ thuật thay đổi thông tin quan trọng trên cookie, URL hay biến ẩn của form. Kĩ thuật Cross-Site Scripting, SessionID, SQL Injection, Buffer Overflow…cũng cần dùng đến các tham số này để hoàn thiện các bước tấn công của hacker. Có thể nói các tham số truyền là đầu mối cho mọi hoạt động của hacker trong

quá trình tấn công ứng dụng. Vì thế đây là nội dung chương đầu tiênđượcđềcập trong

phần thứhai, mục đích cũng là để hỗ trợtốt hơn phần trình bày các chương kế tiếp.

I. THAO TÁC TRÊN URL

I.1. Khái nim:

Khi nhập một form HTML thì kết quả sẽ được gửi đi theo hai cách: GET hay

POST. Nếu dùng GET, thì tất cả các tên biến và giá trị của nó sẽ xuất hiện trong chuỗi URL.

Ví dụ 4.I.1-1: Có một trang web ứng dụng cho phép thành viên đãđược thay đổi

mật khẩu.

http://www.nganhang.com/example?user=thang&newpass=123

Với:

+ username là tên người cần thay đổi mật khẩu. + newpass là mật khẩu mới cho username Tuy nhiên, bằng cách thay đổi tham số như sau:

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

http://www.nganhang.com/example?user=admin&newpass=111111

Hacker đã có thể thay đổi mật khẩu của admin bằng một mật khẩu mới bất kì,

trong ví dụ này là ‘1111111’

I.2. Mt sbin pháp khc phc

Để chống lại kiểu thay đổi nội dung một chuỗi URL, ứng dụng có thể áp dụng biện pháp sau:

• Ứng dụng sử dụng cơ chế bảng băm (hash table). Sau khi người dùng chứng

thực thành công với một username , ứng dụng sẽ sinh ra một khoá tương ứng.

Khoá này sẽ được lưu trên server cùng với biến username trong đối tượng

bảng băm. Mỗi khi người dùng kết nối đến ứng dụng, khoá và username này

sẽ được gửi đi và được so sánh với khoá và username trong bảng băm. Nếu

tương ứng với bản ghi trong dữ liệu thì hợp lệ. Còn nếu không thì server biết

rằng người dùng đã thayđổi URL.

• Ngoài ra, với những thông tin có giá trị, cần mã hoá thông tin này trước khi (adsbygoogle = window.adsbygoogle || []).push({});

cho hiển thị trên trình duyệt để tránh hacker có thể sửa đổi tùy ý.

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 (Trang 37 - 39)