Saturday, January 13, 2007

Bài 3: Kỹ thuật tấn công thông qua Cookies

Khi lập trình website, các coder thường xử dụng 2 kỹ thuật xác định authentication của dữ liệu bằng phiên làm việc (session time out của Hệ thống) hoặc Cookies, Tuy nhiên theo Cookies được ưa chuộng hơn do ưu điểm không phụ thuộc vào time out của hệ thống và không tăng CPU Process của một Web App làm cho chương trình hoạt động nhẹ nhàng hơn.

Chính vì vậy, thông qua lỗi XSS hay một số lỗi khác như SQL injection, Attacker có thể chiếm được thông số cookies để biến cookies theo tham số mới của victim để chiếm phiên làm việc của nạn nhân. Về Fake cookies thế nào, HY xin bàn đến ở phần khác vì nó khá dễ dàng và trên này cũng đã có khá nhiều bài viết về nó.

Xin ví dụ một số trường hợp cơ bản

Ví dụ của 1 Forum Open code đã có Cookies cho thành viên dạng như sau:
Code

Cookie: Lang en-us MemberID=1234 Type=4 Time:12:30PM;

Ta chú ý MemberID=1234 Type=4 ? Vì Type=4 là Member, nếu để ý hơn sẽ thấy các Type khác như 3,2,1 và ở đây Type=1 là ADMIN. Nếu ta thay như sau
Code

Cookie: Lang en-us MemberID=1 Type=1 Time:12:30PM;

Điều gì sẽ xảy ra khi ta khởi động lại trình duyệt? dĩ nhiên ta đang chiếm phiên làm việc của admin

Giải pháp:
1. Mã hóa cookies
2. Tạo session lưu trên máy chủ để so sánh thêm

P/s : Tuy nhiên cuộc chiến về Cookies và Session ID thì chưa bao giờ có hồi kết bất chấp mọi biện pháp vì những lỗi khác liên quan có thể giúp attaker "phun" các dữ liệu ra. Hiện nay các diễn đàn và các Blog rất dễ bị mắc các lỗi thông qua Cookies



Một ví dụ về Bug của IBP giúp cho ta có thể khai thác được các thông số của 1 ID bất kỳ

HYXD

1 comment:

  1. moi doc tuong ong viet nua chu, het hon! viet vai bai cho anh em xem voi!

    ReplyDelete