Session poisoning - xaydungphanmem

Download Report

Transcript Session poisoning - xaydungphanmem

Ấn định phiên làm việc -SESSION FIXATION

• Là kĩ thuật tấn công cho phép hacker mạo danh người dùng hợp lệ bằng cách gửi một session ID hợp lệ đến người dùng, sau khi người dùng đăng nhập vào hệ thống thành công, hacker sẽ dùng lại session ID đó và nghiễm nhiên trở thành người dùng hợp lệ.

Quá trình tấn công

• Thông qua 3 bước: – Setup session: thiết lập một «bẫy session « trên 1 server đích và chọn lựa 1 session id sẽ dùng để tấn công.

– Session fixation: Hacker sẽ dùng session của mình để gắn vào trình duyệt của người dùng – Session entrance:Hacker chờ người dùng đăng nhập vào sever đã dựng sẵn bằng session giả (được đặt sẵn) , sau đó người dùng đăng nhập bằng session của mình.

Tấn công trên URL

• Hacker sẽ sử dụng các “mánh” để lừa người dùng đăng nhập tài khoản thông qua trang web mà người đó đã dựng sẵn VD như : http://online.worldbank.dom/login.jsp?session=1234 .

• Hacker sẽ có tài khoản của người dùng và sẽ thực hiện các hành vi khai thác bất hợp pháp trên tài khoản người dùng đã đăng nhập như tài khoản ngân hàng.

Tấn công trong biến ẩn form

• Tương tự như URL,biến ẩn form nghĩa là sau khi hacker xem mã HTML của trang web,nhận thấy session ID được đặt trong biến ẩn của form ,hacker sẽ gửi 1 session ID cũng trên URL đó đến người dùng hoặc 1 trang web giống trang đích nhưng với biến ẩn form mang giá trị ấn định sẵn .

Tấn công trong cookie

• • Bằng việc lợi dụng cookie ,hacker có 3 cách để đưa 1 session ID đến trình duyệt của nạn nhận : Sử dụng ngôn ngữ kịch bản (javascrip ,vbscrip) để thiết lập 1 cookie trong trình duyệt của nạn nhân bằng cách thiết lập giá trị “document .cookie= “sessionid=1234;domain = .worldbank.com” ”.Bên cạnh đó hacker còn có thể thiết lập thời gian sống cho cookie ,domain cookie.

Cách phòng chống :

• • • Chống việc đăng nhập với 1 session ID có sẵn bằng cách hủy bỏ session ID được cung cấp bởi trình duyệt của người dùng khi đăng nhập và luôn tạo 1 session ID mới khi người dùng đăng nhập thành công .

Chống những hacker bên ngoài hệ thống :tạo ứng dụng trên hệ thống theo hướng giới hạn (chỉ tạo session ID mới cho người dùng sau khi họ thành công ) Giới hạn phạm vi ứng dụng của sessionID : Kết hợp session OD với địa chỉ của trình duyệt ,kết hợp session ID với thông tin chứng thực được mã hóa ssl,xóa bỏ session khi người dùng thoát khỏi hệ thống hay hết hiệu lực,thiết lập thời gian hết hiệu lực của session tránh trường hợp hacker có thể duy trình session và sử dụng nó lâu dài .

Session poisoning :

• Session poisoning là việc lợi dụng những lỗ hổng của việc quản lý những session trên các ứng dụng máy chủ để coppy (ăn cắp) những session của người dùng bằng những đoạn script .

Cách phòng chống

• • • Tạo ra danh sách những thẻ HTML được phép sử dụng.

Xóa bỏ thẻ script hay lọc ra bất kì 1 đoạn mã javascript /java/vbscript Lọc dấu nháy đơn ,nháy kép (vì có dấu nháy đơn ,nháy kép có thể chèn đoạn script trong URL) ,và kí tự null(vì khả năng thêm 1 đoạn mã bất kì sau kí tự null khiến cho ứng dụng dù đã lọc bỏ thẻ script vấn không nhận ra ,do ứng dụng nghĩ rằng chuỗi đã kết thúc từ kí tự null này.)