Tìm hiểu về tấn công XSS và cách phòng thủ

75 1.5K 5
Tìm hiểu về tấn công XSS và cách phòng thủ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tìm hiểu về tấn công XSS và cách phòng thủ

Khóa luận tốt nghiệp 2013 1 NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Giáo Viên Hướng Dẫn Ths. Nguyễn Đăng Quang Khóa luận tốt nghiệp 2013 2 NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Giáo Viên Phản Biện Khóa luận tốt nghiệp 2013 3 LỜI CẢM ƠN Lời đầu tiên, nhóm em xin gửi lời cảm ơn đến các thầy cô trong Khoa Công Nghệ Thông Tin những người đã dạy dỗ, chỉ bảo tận tâm chúng em trong suốt những học kỳ vừa qua cũng như đã tạo những điều kiện tốt nhất cho chúng em có thể thực hiện đề tài này. Nhóm em xin gửi lời cảm ơn chân thành sâu sắc nhất tới Thầy Nguyễn Đăng Quang, xin cảm ơn thầy đã tận tình chỉ bảo, hướng dẫn tạo những điều kiện tốt nhất để nhóm em có thể hoàn thành đề tài. Xin gửi lời cảm ơn tới những người thân, những người bạn đã trao đổi, giúp đỡ động viên chúng em rất nhiều trong suốt quá trình thực hiện. Tuy đã cố gắng rất nhiều nhưng vẫn khó tránh khỏi những thiếu sót. Kính mong quý thầy cô các bạn đóng góp ý kiến để có thể hoàn thiện hơn nữa đề tài. Chúng em xin chân thành cảm ơn! Nhóm thực hiện đề tài Nguyễn Văn Quý Nguyễn Ngọc Liệu Khóa luận tốt nghiệp 2013 4 MỤC LỤC DANH MỤC HÌNH ẢNH 6 DANH MỤC BẢNG BIỂU 7 DANH MỤC CÁC TỪ VIẾT TẮT 8 CHƢƠNG I: ĐẶT VẤN ĐỀ 9 I. Tổng quan 9 1. Website 9 2. Bảo mật Web 10 3. Những loại tấn công bảo mật phổ biến 11 II. Hiện trạng 12 III. Mục tiêu phạm vi 13 1. Mục tiêu 13 2. Phạm vi 13 3. Phƣơng pháp thực hiện 13 4. Kết quả dự kiến 13 CHƢƠNG 2: NỘI DUNG 14 I. Lý thuyết về XSS 14 1. Khái niệm 14 2. Phân loại 14 3. Các kỹ thuật XSS sử dụng 16 4. Đối tƣợng mà XSS hƣớng tới 20 5. So sánh XSS với 1 số kiểu tấn công phổ biến khác 20 II. Các phƣơng thức của tấn công khai thác XSS 24 1. Giới thiệu chung 24 2. Các phƣơng thức tấn công XSS 24 3. Khai thác những cách tấn công XSS 32 4. Tấn công XSS thông qua khai thác những Framework 40 III. XSS Worms 54 1. Giới thiệu chung 54 2. Một số XSS Worm phổ biến. 55 IV. Ngăn Chặn XSS 58 1. Giới thiệu chung 58 Khóa luận tốt nghiệp 2013 5 2. Filtering 59 3. Input Encoding 62 4. Output Encoding 64 5. Web Browser’s Security 64 Chƣơng III: Demo 66 Chƣơng IV: Kết luận 71 I. Kết quả đạt đƣợc 71 1. Về mặt lý thuyết 71 2. Về mặt demo 71 II. Ƣu, nhƣợc điểm 71 1. Ƣu điểm 71 2. Nhƣợc điểm 71 III. Hƣớng phát triển 71 Phụ lục: Bộ công cụ hỗ trợ 71 1. Acunetix Web Vulnerability Scanner 8 71 2. Grease Monkey 72 3. Burp 74 Khóa luận tốt nghiệp 2013 6 DANH MỤC HÌNH ẢNH Hình 1.1 Hoạt động của một website 10 Hình 2.1 Minh họa XSS 15 Hình 2.2 Mô tả quá trình tấn công kiểu Non-Persistent 16 Hình 2.3 Mô tả quá trình tấn công kiểu Persistent 17 Hình 2.4 Mô tả quá trình tấn công bằng Session Fixation 22 Hình 2.5 Mô tả quá trình tấn công bằng Session Hijacking 23 Hình 2.6 Giao diện của JavaScript/CSS API khi sử dụng thuộc tính ―getComputedStyle‖ để lấy thông tin duyệt web của người dùng 26 Hình 2.7 Giao diện JavaScript Error Message Login Checker 27 Hình 2.8 Lỗi đăng nhập Gmail không hợp lệ từ người dùng 28 Hình 2.9 Minh họa quá trình tấn công mạng nội bộ 28 Hình 2.10 Quá trình thực hiện XSS 34 Hình 2.11 Mô tả một trang bị lỗi XSS 37 Hình 2.12 Kết quả của tấn công XSS Phising 40 Hình 2.13 Kết quả sử dụng Zombie Control lấy địa chỉ IP của người dùng 45 Hình 2.14 Giao diện XSS Attack Library 46 Hình 2.15 Giao diện chính của CheckList 47 Hình 2.16 Giao diện chính của Encode/Decode 47 Hình 2.17 Giao diện làm việc của HTTP Respone 49 Hình 2.18 Sự khác biệt XSS PayLoad trong Vulnerability Scanner 53 Hình 2.19 Quy trình làm việc của XSS KeyLogger 53 Hình 2.20 Quy trình làm việc của Executable Drive-by Downloader 54 Hình 2.21 Giao diện console XSS Cookie Thief 55 Hình 2.22 Testing một website với Xenotix XSS Exploit Framework 55 Hình 2.23 Quá trình chuyển đổi bảng mã lọc ký tự 62 Hình 2.24 Một số chức năng chính của thư viện HTML Purifier 63 Khóa luận tốt nghiệp 2013 7 DANH MỤC BẢNG BIỂU Bảng 2.1 1 Danh sách các lỗ hổng XSS được phát hiện trên website một số công ty lớn 35 Bảng 2.2 Một số port trong Atack 42 Bảng 2.3 Danh sách các module BeEF 46 Bảng 2.4 AutoAttack AttackList 48 Bảng 2.5 Bảng so sánh giữa các bộ thư viện filter HTML để chống XSS 62 Bảng 2.6 Danh sách phương pháp mã hóa đầu ra quan trọng cần thiết để ngăn chặn Cross Site Scripting 65 Khóa luận tốt nghiệp 2013 8 DANH MỤC CÁC TỪ VIẾT TẮT XSS Cross Site Scripting Khóa luận tốt nghiệp 2013 9 CHƢƠNG I: ĐẶT VẤN ĐỀ I. Tổng quan 1. Website Website là tập hợp của rất nhiều trang web – một loại siêu văn bản ( tập tin dạng HTML hoặc XHTML) trình bày thông tin trên mạng Internet tại một địa chỉ nhất định để người xem có thể truy cập vào xem. Để cấu thành một website cần có các thành phần: - Tên miền (Domain): là địa chỉ của website - Nơi lưu trữ website (Hosting) - Nội dung các trang thông tin (Webpage). Trang web đầu tiên người dùng truy cập đến từ tên miền được gọi là trang chủ (Homepage), sau đó người xem có thể xem các trang khác thông qua các siêu liên kết (Hyperlinks). Đặc điểm chung của một Website: thông tin dễ dàng thay đổi, cập nhật, người dùng có thể xem thông tin ngay lập tức, ở bất kỳ nơi nào, vào bất kỳ lúc nào, không giới hạn phạm vi truy cập, số lượng truy cập. Một Website thường được chia làm 2 phần: giao diện người dùng (front-end) - phần để người dùng có thể tương tác, thực hiện các thao tác mà mình mong muốn các chương trình để Website hoạt động (back-end) – là các chương trình được lập trình dựa trên các loại ngôn ngữ riêng phục vụ cho các yêu cầu xử lý có thể xảy ra trong một website được lưu trữ trên máy chủ. Hiện nay trang web chia làm hai loại: Web tĩnh Web động. - Web tĩnh do lập trình bằng ngôn ngữ HTML theo từng trang như một Brochure 1 , không có cơ sở dữ liệu không có công cụ quản lý thông tin trên website. Cần phải biết kỹ thuật thiết kế trang web (thông thường bằng các phần mềm như FrontPage, Dreamwaver, …) khi muốn thiết kế hoặc cập nhật thông tin của những trang web này. Đặc điểm là ít thay đổi nội dung. - Web động có cơ sở dữ liệu, được cung cấp công cụ quản lý webiste (Admon Tool) để cập nhật thông tin thường xuyên, quản lý các thành phần trên website. Loại website này thường được viết bằng các ngôn ngữ lập trình như PHP, ASP.NET, JSP, Perl quản trị cơ sở dữ liệu bằng SQL hoặc MySQL. Hoạt động: Website hoạt động dựa trên nguyên lý: 1 Brochure: là 1 tập bao gồm tất cả thông tin về trang đó. Khóa luận tốt nghiệp 2013 10 Hình 1.1 Hoạt động của một website Khi một người dùng nhập địa chỉ vào thanh tìm kiếm, DNS Server sẽ tiến hành phân giải tên miền thành địa chỉ IP của trang web cần tìm kiếm. Sau khi có địa chỉ IP, trình duyệt sẽ gửi yêu cầu đến nơi lưu trữ thông tin (Web server) thông qua phương thức GET hoặc POST trong giao thức HTTP. Web server tiếp nhận yêu cầu từ web client xử lý gửi trả kết quả về. Web client nhận kết quả hiển thị lên màn hình cho người dùng xem. Trong quá trình hoạt động của một trang web có thể có một firewall với chức năng xác thực quyền truy cập, quản lý điều khiển luồng dữ liệu trên mạng, bảo vệ tài nguyên, ghi nhận báo cáo các sự kiện, hoạt động như một thiết bị trung gian. Tuy nhiên khi firewall này có những lỗ hổng thì nó sẽ trở thành mục tiêu số một cho những phương thức tấn công vào bảo mật của trang web đó. 2. Bảo mật Web a. Khái niệm: Bảo mật là giữ cho không bị xâm phạm, không bị lộ những thông tin không mong muốn. Bảo mật Web giữ cho những thông tin, tài nguyên của một website hay của người dùng tránh khỏi việc bị đánh cắp, tráo đổi hay gây sai lệch bởi các hacker. b. Tầm quan trọng của bảo mật Web: Tính đến thời điểm tháng 12/2010 trên toàn thế giới đã có 255 triệu trang web. 2 Nói như vậy để có thể thấy số lượng khổng lồ của các trang web hiện nay. Với 255 2 http://vietnamlib.net/tin-tuc/hoat-dong-tttv-the-gioi/thong-ke-internet-the-gioi-nam-2010. [...]... quyết định thực hiện đề tài Tìm hiểu về tấn công XSS cách phòng thủ với mục đích chính cho thấy các cách thức tấn công, sự nguy hiểm của tấn công XSScách phòng chống những kiểu tấn công trên 2 Phạm vi - Tìm hiểu tổng quan khái niệm về XSS - Tìm hiểu các phương thức tấn công - Tìm hiểu các biện pháp phòng chống - Giới thiệu một số công cụ hỗ trợ trong tấn công phòng thủ 3 Phƣơng pháp thực hiện... niệm tổng quan về XSS - Phân biệt nhận dạng được những loại tấn công - Áp dụng những cách phòng thủ với từng kiểu tấn công - Thực hiện một số ví dụ minh họa quá trình tấn công phòng thủ 13 Khóa luận tốt nghiệp 2013 CHƢƠNG 2: NỘI DUNG I Lý thuyết về XSS 1 Khái niệm Hình 2.1 Minh họa XSS Cross - Site Scripting hay còn được viết tắt là XSS là một kỹ thuật tấn công bằng cách chèn vào những website... dụng tất cả các cách phòng chống của hai phương pháp tấn công Ấn định Session ID tấn công XSS II Các phƣơng thức của tấn công khai thác XSS 1 Giới thiệu chung Hiện nay cùng với sự phát triển về công nghệ, các hacker có thể đa dạng hóa phương thức tấn công, một số kỹ thuật tấn công phổ biến có thể kể đến như: SQL Injection, Ddos, Local Attack, XSS Trong đó XSS là kỹ thuật tấn công mà hacker thường... khi muốn tấn công thì điều đầu tiên là sẽ phải tìm ra lỗ hỗng bảo mật trên website bằng cách gắn một đoạn mã test vào web client để web client gửi đến web server chờ phản hồi của web server để tìm ra lỗ hổng bảo mật Hacker tấn công dựa vào sự thiếu chú ý về việc lọc dữ liệu vào từ URL của webiste Hacker sẽ gắn thêm những đoạn mã độc vào đây thực hiện hành vi tấn công website Loại tấn công này... người thực hiện phải hiểuvề hoạt động của website có tính sáng tạo 4 Đối tƣợng mà XSS hƣớng tới XSS là một kiểu tấn công bảo mật rất phổ biến Đối tượng hướng đến là những webiste bảo mật sơ sài, viết bằng PHP, JavaScript, web động những người dùng thiếu kiến thức về XSS Khi tấn công XSS có khả năng ảnh hưởng tới các site cho phép người dùng nhập dữ liệu vào như: các công cụ tìm kiếm Forms được... Đây là bước khó nhất cũng là quan trọng nhất, có thể thực hiện qua ba cách: Tấn công Session ID trên tham số URL Tấn công Session ID bằng biến ẩn form Tấn công Session ID trong cookie 22 Khóa luận tốt nghiệp 2013 - Bước 3: Đột nhập vào phiên làm việc của nạn nhân bằng Session ID đánh cắp được Phòng chống: chỉ trên những ứng dụng web mới cần phòng chống lại kiểu tấn công này Cách 1: Chống việc đăng... đến nguy cơ nhiễm code độc Bị Cross Site Scripting (XSS) từ những tiện ích Javascript do không lọc đầu vào/ra Đây cũng là một dạng tấn công phổ biến trên website, hacker có thể dùng kiểu tấn công này để truy cập với quyền của người dùng đánh cắp những thông tin về người dùng XSS cũng tương tự SQL Injection đều nằm trên tầng web các kiểu tấn công của nó đều xoay quanh phương thức encoding URL... số lượng website Việt Nam bị tấn công đang có chiều hướng gia tăng, đặc biệt hình thức tấn công phổ biến thông qua hành động xâm nhập vào máy chủ (có một số máy chủ chứa hàng trăm trang web), khi máy chủ bị tấn công, các trang web ở trong đó cũng bị tấn công theo Có thể kể đến như trường hợp ngày 6/6, một nhóm hacker có tên CmTr đã khai thác lỗ hổng trên server và tấn công vào hơn 200 website tiếng Việt... JavaScript, CSS các công nghệ Web khác Có hai loại XSS Defacement: liên tục không liên tục - - Mức độ nghiêm trọng của XSS Defacement liên tục là cao hơn so với XSS Defacement không liên tục vì những kẻ tấn công có thể sẽ thay đổi vĩnh viễn thông tin các trang bị tấn công như sửa đổi nội dung, đánh cắp một số thông tin cá nhân của người dùng Mặc dù kẻ tấn công không có quyền truy cập trực tiếp vào hệ... loại tấn công mà đặc biệt phục vụ cho mục đích phá hoại Tính bảo mật của tên miền phụ thuộc vào nhiều yếu tố như sự bảo mật của registrar, sự bảo mật của hòm thư đăng ký tên miền, … Nếu hòm thư đăng ký tên miền bị mất thì nguy cơ tên miền đó bị đánh cắp là rất cao, cách tiến hành quá trình này chủ yếu do phishing XSS tấn công vào người dùng nhẹ dạ thiếu kiến thức để bảo vệ chính mình Bị tấn công

Ngày đăng: 09/06/2014, 18:07

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan