Saturday, January 13, 2007

Bài 1 : Thao tác trên tham số truyền Get hoặc post

Một số Code lập trình có tham số victim.com/admin.php?username=ABC&newpass=xxxx cho phép user đổi pass mới mà không check các tham số session, Oldpass hay authentication, ta có thể mò được tham số truyền này để đổi password của admin hay user bằng cách gõ victim.com/admin.php?usename=ABC&newpass=123456 với 123456 là password mới cần đổi

Ví dụ điển hình :
1. Snitz forum 3.0.4 cho phép change password bất kỳ ID nào thông qua 1 form change pass do forum cung cấp qua email của attacker đăng ký bằng 1 nick bình thường
2. Hệ thống Yahoo
Yahoo domain đã có 1 sơ hở trên add_access_results.php cho phép ta có thể add quyền quản lý domain của bất kỳ domain nào trên Yahoo sang ID của ta bằng tham số truyền
https://bill.sbs.yahoo.com/add_access_resul...hoangyenxinhdep

Ví dụ domain http://www.spendingspending.com

....

Cách khắc phục :
- Ứng dụng cơ chế bảng băm (hash table), tức là mỗi 1 username sẽ được kèm 1 theo 1 biến hash lưu trong data, mỗi khi người dùng đăng nhập sẽ có 1 hash đi kèm và sẽ so sánh trên csdl để đảm bảo username này là hợp lệ, và sẽ tránh được các request thực thi khi không có hash.

Hết bài 1

HYXD

No comments:

Post a Comment