hunganh1803
W-------
-
24/06/2015
-
6
-
5 bài viết
Clickjacking và cách phòng chống
- Giới thiệu về clickjacking
Kẻ tấn công có thể sử dụng kỹ thuật tấn công này cho nhiều mục đích. Đánh cắp tài khoản người dùng, lừa click vào quảng cáo để kiếm tiền, lừa like page hoặc nguy hiểm hơn là cài một webshell lên máy chủ web.
- Một số kỹ thuật tấn công
- Che giấu đối tượng mục tiêu:
- Sử dụng thuộc tính CSS opacity (làm cho các iframe trong suốt) để che giấu đối tượng web cần click vào và z-index để hiển thị đối tượng web dùng để lừa
- Lấy đối tượng dùng để đánh lừa phủ lên đối tượng mục tiêu và sử dụng thuộc tính CSS pointer-events: none để vô hiệu hóa thao tác nhấp chuột lên đối tượng dùng để đánh lừa
- Giả mạo con trỏ chuột:
- Strokejacking:
- Chèn đối tượng mục tiêu khi người dùng đang nhấp chuột:
- Cách phòng chống clickjacking
- Yêu cầu người dùng xác nhận lại bằng cách hiển thị hộp thoại thông báo thao tác người dùng đã thực hiện yêu cầu và xác nhận.
- Đặt các đối tượng web vào các vị trí ngẫu nhiên gây khó khăn cho kẻ tấn công vì giao diện không ổn định.
- Thiết lập các chính sách trên trình duyệt yêu cầu các frame hiển thị với opacity > 0
- Sử dụng Javascript ngăn cản một trang web khác nhúng nội dung của trang đó vào iframe ( Frame Bursting ):
- Sử dụng câu lệnh điều kiện kiểm tra trang web có nằm trong iframe hay không
- Chuyển hướng cửa sổ trình duyệt về trang web bị nhúng và iframe.
top.location = self.location; Thông thường thì hầu hết các kỹ thuật Frame Busting đều có thể bị vượt qua bằng cách ngăn cản sự chuyển hướng tới trang web cần bảo vệ. Để thay thế Frame Bursting ta cần sử dụng tiêu đề X-Frame-Options. Sử dụng các giá trị sau:
- DENY: cấm nhúng vào frame
- SAMEORIGIN: chỉ được nhúng vào frame trên các trang cùng tên miền
- ALLOW -FROM domain: chỉ được nhúng vào frame trên các trang có tên miền là domain
body{
display:none !important;
}
if (self === top) {
var antiClickjack =
document.getElementById("antiClickjack");
antiClickjack.parentNode.removeChild(antiClickjack );
}
else {
top.location = self.location;
}
Chỉnh sửa lần cuối bởi người điều hành: