Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

[Báo cáo BTL] An ninh và bảo mật dữ liệu - Kỹ thuật tấn công Cross Site Scriptin, Assignments of Computer Security

An ninh và bảo mật dữ liệu - Kỹ thuật tấn công Cross Site Scripting (XSS)

Typology: Assignments

2023/2024

Uploaded on 05/18/2024

TuyetAnh24
TuyetAnh24 🇻🇳

5

(2)

26 documents

1 / 21

Toggle sidebar

Related documents


Partial preview of the text

Download [Báo cáo BTL] An ninh và bảo mật dữ liệu - Kỹ thuật tấn công Cross Site Scriptin and more Assignments Computer Security in PDF only on Docsity! TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ---------------- BÁO CÁO BÀI TẬP LỚN MÔN: AN NINH VÀ BẢO MẬT DỮ LIỆU Đề tài: Tìm hiểu kỹ thuật tấn công Cross Site Scripting (XSS) Giảng viên hướng dẫn: Lê Thanh Tấn Sinh viên thực hiện: Năm - 2024 2  Giai đoạn 3: Khi người dùng truy cập vào website đó, trình duyệt sẽ tự động chạy mã độc. Khi người dùng truy cập vào website mà kẻ tấn công đã chèn mã độc, trình duyệt của họ sẽ tự động tải và thực thi đoạn mã đó. Điều này xảy ra vì trình duyệt web thường không phân biệt giữa mã JavaScript hợp lệ và không hợp lệ, và tự động thực thi tất cả mã JavaScript có trong trang.  Giai đoạn 4: Mã độc đánh cắp thông tin người dùng hoặc thực hiện các hành động độc hại khác. Sau khi mã độc được thực thi, nó có thể thực hiện các hành động như đánh cắp thông tin người dùng (như tên đăng nhập, mật khẩu), chuyển hướng người dùng đến các trang web giả mạo, thực hiện các giao dịch không được phép, hoặc thậm chí kiểm soát toàn bộ trang web nếu có đủ quyền truy cập. Phần II: Các Cách Thức Thực Hiện 2.1. Cách thức Tấn công Cross Site Scripting nghĩa là gửi và chèn lệnh, script độc hại, những mã độc này thường được viết với ngôn ngữ lập trình phía client như Javascript, HTML, VBScript, Flash… Tuy nhiên, cách tấn công này thông thường sử dụng Javascript và HTML. Cách tấn công này có thể được thực hiện theo nhiều cách khác nhau, phụ thuộc vào loại tấn công XSS, những mã độc có thể được phản chiếu trên trình duyệt của nạn nhân hoặc được lưu trữ trong cơ sở dữ liệu và được chạy mỗi khi người dùng gọi chức năng thích hợp 2.2. Nguyên nhân Nguyên nhân chính của loại tấn công này là xác thực đầu vào dữ liệu người dùng không phù hợp, dữ liệu độc hại từ đầu vào có thể xâm nhập vào dữ liệu đầu ra. Mã độc có thể nhập một script và được chèn vào mã nguồn của website. Khi đó trình duyệt không thể biết mã thực thi có phải độc hại hay không. Do đó mã độc hại có thể đang được thực thi trên trình duyệt của nạn nhân hoặc bất kỳ hình thức giả nào đang được hiển thị cho người sử dụng 2.3. Phân loại Có 3 loại tấn công lỗ hổng XSS phổ biến, gồm: a) Reflected XSS:  Kẻ tấn công xâm nhập mã độc hại vào các tham số của URL hoặc các trường dữ liệu khác trên trang web mục tiêu. 3  Khi người dùng truy cập vào URL chứa các tham số này, trình duyệt của họ sẽ gửi yêu cầu tới máy chủ web và máy chủ web sẽ tạo một phản hồi chứa mã độc hại từ các tham số này.  Mã độc hại được thực thi trong môi trường trình duyệt của người dùng dẫn đến việc đánh cắp thông tin cá nhân, thực hiện các hành động trái phép hoặc thậm chí kiểm soát trang web đó. .  Ví dụ: Kẻ tấn công gửi email giả mạo với nội dung hấp dẫn, bên trong chứa đường link độc hại. Khi nạn nhân click vào link thì trình duyệt sẽ chạy mã Javascript độc và bị đánh cắp thông tin. b) Stored XSS:  Kẻ tấn công chèn mã JavaScript độc hại vào cơ sở dữ liệu của trang web.  Khi người dùng truy cập trang web, mã JavaScript độc hại sẽ được tải xuống và thực thi trên trình duyệt của họ 4 VD : o Kẻ tấn công đăng nhập vào trang web và chèn mã JavaScript độc hại vào phần bình luận. o Khi người dùng khác truy cập trang web và xem bình luận, mã JavaScript độc hại sẽ được thực thi trên trình duyệt của họ. c) DOM-based XSS:  Kẻ tấn công lợi dụng các lỗ hổng bảo mật trong JavaScript để thay đổi nội dung trang web và chèn mã JavaScript độc hại. 5 3.4. Phá hoại danh tiếng: Tấn công XSS làm suy giảm tính bảo mật và danh tiếng của 1 trang web. Nếu người dùng truy cập vào trang web bị tấn công và bị ảnh hưởng bởi mã độc, người dùng có thể mất niềm tin và không sử dụng trang web nữa. VD: 1 số trang web mua hàng ,xem phim bị tấn công XSS. Làm người sử dụng chán nản khi click vào trang web thì 1 trang web khác hiện ra. Dưới đây là ví dụ về trang web xem phim phimmoi.net và web mua hàng ebay: 3.5. Lan truyền mã độc: XSS có thể được sử dụng để lan truyền mã độc đến người dùng. Khi 1 người dùng truy cập vào 1 trang web đã bị tin tặc chèn mã JavaScript vào , mã độc này có thể thực thi trên trình duyệt của họ , lây nhiễm và lan truyền từ người dùng này đến người dùng khác. VD: Sâu Sammy (1 loại sâu XSS) tạo ra bởi Sammy KarmKar đã lây lan khắp các trang của mạng xã hội MySpace . Khi một người dùng truy cập trang web có chứa mã độc, mã này sẽ tự động thêm Samy vào danh sách bạn bè của họ và hiển thị dòng chữ " but most of all, samy is my hero " trên trang cá nhân của họ. Khi người dùng bất kỳ truy cập vào trang cá nhân đó, mã sẽ được sao chép và cài vào trang cá nhân của chính người dùng đó và sâu sẽ được phát tán. Chỉ sau 20 gờ kể từ ngày 4/10/2005, đã có hơn 1 triệu người dùng bị dính mã đôc, khiến cho Sammy trở thành viruss lây lan nhanh nhất thế giới. 8 Ngoài ra, tấn công XSS còn có thể: - Gây gián đoạn dịch vụ - Làm giảm hiệu suất của trang web - Gây ra các vấn đề về bảo mật khác ->Do đó, việc bảo vệ ứng dụng web khỏi tấn công XSS là vô cùng quan trọng. Phần IV: Cách Thức Phòng Chống 4.1. Xác thực đầu vào sử dụng danh sách trắng: Lọc theo danh sách trắng nghĩa là liệt kê một tập hợp các thẻ HTML, giao thức, v.v an toàn, mọi thứ khác sẽ bị lọc ra. Việc lọc này có thể được thực hiện ở cả phía Máy khách và phía máy chủ. Lọc danh sách trắng là bộ lọc được sử dụng phổ biến nhất trong các ứng dụng web hiện đại. VD: Danh sách trắng gồm các giao thức an toàn (HTTP, HTTPS). Bộ lọc Antisamy: gồm các thẻ và thuộc tính HTML an toàn. Nhược điểm: Sử dụng nhiều bộ lọc này có thể có tác động tiềm ẩn đến hiệu suất đối với ứng dụng web. 4.2. Xác thực đầu vào HTML không đáng tin cậy: Đầu vào HTML không đáng tin cậy phải được chạy thông qua công cụ HTML sanitization, để đảm bảo rằng nó không chứa mã XSS. VD: Phân tích cú pháp các thẻ HTML "có nguy cơ" ( trong danh sách đen), chẳng hạn như thẻ iframe, liên kết và thẻ script. 4.3. Mã hóa dữ liệu đầu ra: Coi tất cả dữ liệu do người dùng cung cấp là dữ liệu văn bản thuần túy. Phương pháp này sẽ xác định ngữ cảnh của các ký tự đặc biệt trong đầu 9 ra HTML, rồi áp dụng phương thức mã hóa phù hợp cho từng ký tự dựa trên ngữ cảnh. Có 2 loại ngữ cảnh chính: + Ngữ cảnh thuộc tính: Ký tự đặc biệt xuất hiện trong giá trị thuộc tính HTML. + Ngữ cảnh văn bản: Ký tự đặc biệt xuất hiện trong nội dung văn bản của HTML. Nếu được thực hiện chính xác, mã hóa này sẽ loại bỏ hoàn toàn rủi ro XSS. VD:  Ở HTML: <  được chuyển thành &lt; >  được chuyển thành &gt;  Ở JavaScript: <  được chuyển thành  \u003c >  được chuyển thành \u003e Nhược điểm: Coi tất cả dữ liệu người dùng là không an toàn. Do đó, bất kể dữ liệu người dùng an toàn hay không, tất cả nội dung HTML sẽ được mã hóa và hiển thị dưới dạng văn bản thuần túy. 4.4. Bảo mật cookie : Liên kết cookie phiên với địa chỉ IP của người dùng đã đăng nhập, chỉ cho phép IP đó sử dụng cookie đó. VD: Dùng cờ HttpOnly, giúp giảm thiểu rủi ro tập lệnh phía máy khách truy cập vào cookie được bảo vệ.  10 Phần V. Công cụ minh họa Bước 1: Kiểm tra lỗ hổng XSS Website chọn để tấn công: http://php.testsparker.com/ Chèn đoạn script dưới vào thanh tìm kiếm, rồi nhấn GO <script>alert('xin chúc mừng quý khách đã trúng thưởng giải đặc biệt của chúng tôi, liên hệ:xxx9999 để nhận thưởng!')</script> Kết quả sẽ hiện thông báo: 13 Dùng một thiết bị khác truy cập vào đường link trên sẽ hiện thông báo như hình: Bước 2: Upload tệp tin php để đánh cắp cookie Tạo 1 trang web để lưu cookie đánh cắp được: https://xsstuyetanh.000webhostapp.com/ Chuẩn bị 2 file: + log.ini (để trống) + cc.php (có nhiệm vụ lấy thông tin) 14 Upload 2 file trên lên host website vừa tạo 15 Refresh rồi kiểm tra log.ini, thấy đã đánh cắp được cookie của nạn nhân 18 Phần VI: Tài liệu tham khảo https://en.wikipedia.org/wiki/Cross-site_scripting# https://www.geeksforgeeks.org/cross-site-scripting-xss-prevention- techniques/ https://portswigger.net/web-security/cross-site-scripting https://www.youtube.com/watch?v=t70-PABY6zY 19
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved