1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn tiểu luận nhóm (54)

7 19 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 547 KB

Nội dung

LỖ HỔNG CROSS SITE SCRIPTING ( XSS), TẤN CÔNG VÀ CÁC BIỆN PHÁP KHẮC PHỤC KS Nguyễn Ngọc Quân Tổ NCPT An tồn thơng tin Tóm tắt: XSS (Cross site scripting ) lỗ hổng ứng dụng web người dùng cuối cơng cách chèn vào website động (ASP, PHP, CGI, JSP ) thẻ HTML hay đoạn mã script nguy hiểm gây nguy hại cho người sử dụng khác Lỗ hổng XSS tồn từ lâu kịch thực với kiểu công tương lai Bài viết trình bày nghiên cứu chuyên sâu nguy hiểm lỗ hổng XSS cách khai thác lỗ hổng, giới thiệu biện pháp khắc phục công XSS Phần cung cấp mô tả số lỗ hổng bảo mật thú vị tìm thấy trang web gần làm để khai thác Trong Phần , báo liệt kê vài biện pháp khắc phục thực phía máy chủ client để bảo vệ trang web hay ứng dụng từ lỗ hổng XSS cuối kết luận GIỚI THIỆU Với đời công nghệ phát triển web động, với việc sử dụng ngày nhiều ứng dụng web gây nhiều lỗ hổng cho Web Cross Site Scripting (gọi tắt CSS hay thường XSS) công tiêm mã phổ biến XSS lỗ hổng dựa việc tiêm mã - (Injection) tìm thấy ứng dụng web mã độc hại tiêm biến đầu vào vào payload Khi người dùng hợp pháp truy cập vào ứng dụng web bị lây nhiễm , mã độc hại lặp lại cho trình duyệt người dùng Mã tiêm có khả đọc , thay đổi truyền tải liệu phân loại truy cập trình duyệt cookies, session tokens NỘI DUNG NGHIÊN CỨU Ở đây, báo trình bày phân tích ngắn gọn framework phổ biến khác mà tồn cho việc phát lỗ hổng XSS ứng dụng web, cách khai thác chúng Chúng làm việc cách injecting payload chạy script lỗ hổng web 2.1 Xenotix XSS (Cross- site Scripting (XSS) OWASP ) lỗ hổng tồn từ lâu Một nhìn chi tiết XSS có tham khảo ( Shanmugam & Ponnavaikko , 2008) XSS lỗ hổng top 10 lỗ hổng hàng năm OWASP Trong báo tập trung khai thác XSS, cơng thực sau lỗ hổng XSS tìm thấy kết hợp với cơng cụ khai thác Trong báo , báo trình bày tính XSS, số cách phát XSS phổ biến công cụ khai thác lỗ hổng XSS Phần Trong phần 3, viết mô tả loại XSS: Non-Persistent or Reflected Vulnerability; Stored or Persistent vulnerability; DOM based or Local XSS Xenotix (Abraham , 2012 ) công cụ kiểm tra thâm nhập sử dụng để khai thác XSS Nó có danh sách payload xây dựng, có 450 payload XSS, mà chúng vượt qua lọc XSS sử dụng nhà phát triển web Nó sử dụng payload cách manual hay chế độ tự động Đồng thời Nó hoạt động key logger để lưu lại tổ hợp phím thực người dùng người truy cập vào trang bị nhiễm.Kẻ công tải tập tin thực thi mã độc hệ thống người dùng mà họ không nhận thức việc Khi người dùng truy cập trang bị nhiễm, java applet client.jar 301 truy cập vào cửa sổ lệnh hệ thống họ Attacker sử dụng lệnh echo để viết script có tên winconfig.vbs thư mục ( % temp% ) sau cmd.exe thực thi winconfig.vbs để tải tập tin thực thi độc hại theo quy định kẻ công URL vào thư mục temp đổi tên thành update.exe, cuối thực update.exe Một lỗ hổng khác cung cấp Xenotix cài đặt reverse shell ( Hammer , 2006) hệ thống người sử dụng để truy cập vào máy tính họ Ltd , 2012 ) người ta chạy trình duyệt dựa việc khai thác trang web có lỗ hổng XSS để có session Meterpreter để gán quyền truy cập hệ thống Một tính khác công cụ XSSF công tự động khai thác khác thêm vào hàng đợi , id công việc riêng thực tự động nạn nhân thăm liên kết có lỗ hổng cung cấp kẻ công Mặc dù công cụ đơn giản, cơng cụ đáng quan tâm Tính keylog khơng trì nhiều capture bên trang bị nhiễm Nếu tải ổ đĩa chạy 16 bit hỗ trợ file exe Một mặt XSSF cung cấp nhiều tính tuyệt vời công cụ thành công cho cơng Post XSS, mặt khác lại khơng cung cấp số lượng lớn phương tiện để phát lỗ hổng XSS Đồng thời làm việc với XSSF framework với hiểu biết Metasploit 2.2 XSSF 2.3 BeEF XSSF mô tả rõ ( Tomes , 2011) (htt1) (xssf - Cross-Site Scripting Framework - project Google Hosting) nhằm mục đích để đưa mối nguy hiểm tiềm tàng liên quan đến lỗ hổng XSS.Cơng việc bao gồm việc tạo kênh thông tin liên lạc (được gọi tunnel XSSF ) với trình duyệt mục tiêu (trong có lỗ hổng XSS ) để thực công khác Kẻ cơng thực cơng khác nhau, công tồn module riêng biệt Một số lượng lớn môđun như: file stealer, iphone Skype call, network scanning nhiều lỗ hổng tồn khác thực để khai thác lỗ hổng ứng dụng web XSSF hoạt động cách tạo đường hầm liệt kê tất id nạn nhân nạn nhân đến trang web có lỗ hổng XSS Những kẻ cơng sau kiểm tra trình duyệt người dùng, tìm kiếm cách khai thác phù hợp, thực gửi phiên cho người dùng Sau truy cập vào hệ thống người dùng Các công XSS thực bao gồm việc tạo đường hầm XSSF cung cấp truy cập máy chủ cục máy tính từ xa cho kẻ cơng cho phép có chức Đồng thời sử dụng XSSF tích hợp với giao diện điều khiển Metasploit ( Offensive Security BeEF viết tắt Framework trình duyệt khai thác Nó cơng cụ kiểm tra thâm nhập mạnh mẽ cho trình duyệt web Nó sử dụng vector phía khách hàng khác để đánh giá góc độ an ninh thực tế mơi trường mục tiêu Framework bao gồm mô-đun lệnh khác nhau, sử dụng đơn giản mạnh mẽ API góp phần hiệu vào việc đánh giá Nó cho phép phát triển nhanh chóng dễ dàng sử dụng mơđun BEeF kết hợp nhiều trình duyệt web đưa mô-đun lệnh, đạo diễn công chống lại hệ thống từ bên trình duyệt Các trình duyệt khác có khả nằm bối cảnh an ninh ( context security) khác nhau, bối cảnh có tập hợp hướng công đặc thù Framework cho phép kiểm tra xâm nhập để chọn module cụ thể (trong thời gian thực) nhắm mục tiêu trình duyệt, bối cảnh (context) BEEF framework cơng cụ mạnh mẽ sử dụng lỗ hổng XSS để khởi động công khác vài tên kể tới sau đây: browser fingerprinting (thu thập thơng tin trình duyệt), persistence , network fingerprinting, DNS enumeration, Port scanning, IRC NAT 302 Các trình duyệt sau thực thi mã đến từ máy chủ trusted CÁC LOẠI TẤN CƠNG XSS Hiện có loại công cross site scripting phổ biến: Non-Persistent or Reflected Vulnerability (Tấn công Reflected cross site scripting không liên tục); Stored or Persistent vulnerability; DOM based or Local XSS Những lỗ hổng tồn website khác ứng dụng web phân loại thành loại Chúng giải thích mơ tả chi tiết sau: Hình Stored or Persistent vulnerability Stored or Persistent vulnerability (hình 2) cho phép cơng mạnh nhất, mã độc hại gửi đến trang web, nơi lưu trữ thời gian định (trong sở liệu, hệ thống tập tin, đâu) sau hiển thị cho người sử dụng trang web trang web mà khơng mã hóa cách sử dụng thực thể HTML Một ví dụ tình với bảng tin trực tuyến, nơi mà người dùng phép đăng định dạng HTML cho người dùng khác để đọc Hình Tấn công Reflected cross site scripting không liên tục Các cơng khơng liên tục (Hình 1) thực liệu cung cấp khách hàng web sử dụng server-side script để tạo trang kết cho người dùng Nếu liệu người dùng cung cấp không giá trị bao gồm trang kết mà khơng cần mã hóa HTML, việc cho phép mã phía máy khách tiêm vào trang động Mã tiêm phản hồi máy chủ web, kết tìm kiếm, thông báo lỗi, thông điệp trả lời mà bao gồm phần đầu vào gửi đến máy chủ phần u cầu Các cơng Reflect gửi đến người dùng thông qua đường khác, e-mail thơng báo, số máy chủ web khác Khi người dùng bị lừa click vào liên kết độc hại submit form đặc biệt, mã tiêm đến máy chủ web có lỗ hổng, reflect cơng ngược trở lại trình duyệt nạn nhân Hình DOM based or Local XSS Dựa DOM (Document Object Model) (hình 3) Local XSS, kẻ cơng 303 nhúng liệu công side client, từ bên vài trang máy chủ web Ví dụ, phần JavaScript truy cập URL yêu cầu tham số viết vài HTML trang riêng mình, việc sử dụng thơng tin mà khơng mã hóa cách sử dụng thực thể HTML, xuất lỗ hổng XSS, mà văn liệu tái giải thích trình duyệt HTML mà bao gồm thêm script phía máy trạm Skype Ứng dụng Skype phát triển cho iOS sử dụng tập tin HTML lưu trữ local để hiển thị tin nhắn chat từ người dùng Skype khác, thất bại việc mã hóa "Full Name" người dùng đến (incoming users), cho phép kẻ công để thực thi mã JavaScript độc hại nạn nhân xem tin nhắn Vấn đề thực khai thác cách sử dụng trình duyệt nhúng Webkit Ngoài nhà phát triển Skype thiết lập chương trình URI cho trình duyệt nhúng "file :/ /" cho phép kẻ công truy cập hệ thống tập tin đọc tập tin đọc ứng dụng iOS sandbox CÁC TẤN CÔNG KHAI THÁC XSS 4.1 Dữ liệu Android có nhiều lỗ hổng Các lỗ hổng giải thích (Cannon 2013) tồn framework Android 2.2 Nó khai thác để truy cập tập tin lưu trữ SDcard thiết bị chạy Android Các Trình duyệt Android không nhắc nhở người dùng tải tập tin, ví dụ tập tin "payload.html" tự động tải / sdcard / download / payload.html Một JavaScript sử dụng để mở file " payload " cách tự động mà nguyên nhân trình duyệt để hiển thị file local cho phép cách thức để truy cập vào SDcard tập tin lưu trữ bên Sau đó, Nó gửi nội dung tập tin truy cập trở lại trang web có lỗ hổng.Việc khai thác đơn giản sử dụng JavaScript chuyển hướng, sử dụng nhiều thiết bị cầm tay phiên khác Android Nhưng có vài hạn chế tên đường dẫn tập tin truy cập biết đến trước Vì khơng phải lỗ hổng root nên truy cập tất tập tin, mà có lưu trữ SDcard Trong tương lai, Cần hạn chế ứng dụng bên thứ ba để thực hành động xác định URL URI cho phép trang web nhúng iframe mà buộc Skype mở ra(nếu cài đặt) gọi số cụ thể JavaScript 4.3 HTML5 API for cross domain calls Lỗ hổng khai thác hệ thống Windows HTML5 có hai API để thực gọi liên miền - Cross Origin Requests WebSockets Bằng cách sử dụng chúng, JavaScript tạo kết nối tới IP với cổng (ngoài cổng bị chặn), làm cho chúng đối tượng lý tưởng cho cơng port scanning Các API bị khai thác để xác định xem cổng kết nối mở hay đóng hay lọc Nó giúp đỡ hai thuộc tính: 'ready state' cho biết tình trạng kết nối thời điểm định "'time duration' mà "readyState" giá trị cuối Do cách quan sát khác biệt hành vi xác định chất cổng Là cấp độ ứng dụng qt thành cơng phụ thuộc vào chất ứng dụng chạy cổng mục tiêu Khi yêu cầu gửi đến số loại ứng dụng mà chúng đọc yêu cầu giữ im lặng giữ cho socket open, có nhiều đầu vào đầu vào định dạng cụ thể Nếu mục tiêu chạy ứng dụng tình trạng 4.2 Skype's improper URI scheme and embeddable Webkit browser on IOS Lỗ hổng giải thích (Kumar, 2011) (Purviance, 2011) (iPhones Make Automatic Skype Calls | Security Generation, 2010) tồn framework iOS Nó bị khai thác kẻ cơng để truy cập vào sở liệu SQLLite Address Book người dùng để đặt gọi trực tiếp sử dụng 304 xác định Vì cổng đóng xác định mở rộng kỹ thuật để thực chức quét mạng phát IP nội 4.6 File API in HTML5 Lỗ hổng thực thi Webkit (mới Google Chrome) bị khai thác để chuyển đổi trình duyệt chrome Google vào file server File API HTML5 cho phép JavaScript truy cập file, lựa chọn người sử dụng (tức trước tải lên nó) Ngồi việc cung cấp kinh nghiệm để file upload tốt hơn, sử dụng cách độc hại để ăn cắp file bạn công XSS Với phong cách thơng minh bạn ẩn inputtype=file điều khiển để người dùng tải lên tập tin Trong trường hợp tập tin lựa chọn người sử dụng 'Open File' hộp thoại người truy cập Tuy nhiên inputtype=directory file tính tuyệt vời cho phép người dùng tải lên nội dung thư mục lựa chọn, cho phép truy cập toàn thư mục cho kẻ cơng 4.4 HTML5 implementation of AJAX history HTML5 có tính cho phép người dùng truy cập trang web khác liên kết trang web mà khơng thay đổi URL Nó thực với giúp đỡ chức window.history.pushState () Nó tạo cho trang web AJAX để sửa đổi dễ dàng địa cửa sổ lịch sử thao tác Đó tính tuyệt vời thuận tiện cho nhà phát triển - ví dụ, ứng dụng AJAX dễ dàng hỗ trợ trở lại nút bấm phía trước mà khơng cần đến URI định danh đoạn (#) Nhưng khai thác cho trang web có lỗ hổng XSS cho phép kẻ công để chuyển hướng người dùng đến liên kết mà không thay đổi URL địa 4.7 XSS MAP Google thu thập liệu cho Xem Google Street thu thập liệu mạng không dây vùng lân cận địa MAC router sau phối hợp ánh xạ chúng vào GPS Ở đây, xây dựng (Higgins, 2010), XSS khai thác sử dụng để lập đồ vị trí người dùng Việc khai thác XSS lấy địa MAC router mục tiêu sau phối hợp sử dụng Google Maps để xác định GPS Một trang độc hại bạn truy cập thực XSS khai thác phục hồi bạn tọa độ GPS từ Google Maps Các định tuyến trình duyệt web tự chúng khơng chứa liệu vị trí địa lý / GPS khơng Geo vị trí dựa IP Nó hoạt động thơng qua Router XSS mà có địa MAC router thông qua AJAX Địa MAC sau gửi đến kẻ cơng chuyển đến địa điểm Dựa dịch vụ Google mà đồ vị trí (GPS gần tọa độ ) người sử dụng dựa địa MAC 4.5 Access to the WScript ActiveX control in Internet Explorer Các thiết lập bảo mật Internet Explorer phép truy cập vào điều khiển ActiveX WScript thông qua ngôn ngữ script JavaScript VBScript Các mẫu ứng dụng cho thấy làm để sử dụng đối tượng ActiveX "WScript.shell" để tương tác với máy khách hàng Với việc kiểm soát thực lệnh tương tự dấu nhắc trình báo mà khơng thơng báo cho người sử dụng Sử dụng Shell người ta tạo, xóa sửa đổi tập tin văn thông qua WScript.FileSystemObject IE7 đưa vào điều khiển bảo mật gọi "nguồn liệu truy cập toàn miền", mà cách mặc định thiết lập để nhắc nhở người dùng họ muốn cho phép kịch bạn để nói chuyện với “domains” khác (nó xem xét hệ thống tập tin miền riêng biệt ) người ta viết kịch tập tin trực tiếp vào đĩa sau thực nó, nhận xung quanh điều khoản IE7 4.8 NAT PINNING - IRC Over HTTP Trong công XSS, trang web buộc router người dùng tường 305 lửa, tới chúng, forward đến cổng số cổng trở lại máy người dùng Khi nạn nhân nhấp chuột vào URL XSS có lỗ hổng có hình thức ẩn kết nối với http://attacker.com:6667 (port IRC), người dùng submit form mà Một kết nối HTTP tạo kẻ công tới máy chủ IRC ( kết nối giả) đơn giản lắng nghe Router nạn nhân nhìn thấy " kết nối IRC " (mặc dù khách hàng nói HTTP) nỗ lực ' DCC Chat” Direct Client- to-Client (DCC ) tiểu giao thức IRC liên quan cho phép trao đổi tập tin thực trị chuyện khơng chuyển tiếp cách cho phép Peers kết nối với cách sử dụng máy chủ IRC cho tín hiệu bắt tay.Chat DCC yêu cầu mở cổng local máy trạm mà kết nối ngược từ Khi mà router ngăn chặn tất kết nối từ bên trong, định để chuyển tiếp lưu lượng đến cổng Chat DCC ngược máy nạn nhân phép NAT traversal cho kẻ để kết nối trở lại trò chuyện với Tuy nhiên, kẻ cơng có định cổng Ví dụ, cổng 21 (FTP) , cổng router chuyển tiếp 21 trở lại hệ thống nội nạn nhân Kẻ cơng có đường rõ ràng để kết nối với nạn nhân cổng 21 khởi động công bị thành nạn nhân XSS Các chế ngăn ngừa (XSS (Cross Site Scripting) Cheat Sheet - OWASP, 2013) thực hai phía máy chủ phía khách hàng 5.1 Server Side protection Để bảo vệ khỏi lỗ hổng XSS, biện pháp sau thực nhà phát triển phía máy chủ Các khái niệm sử dụng là, không tin tưởng vào đầu vào cung cấp (bao gồm tập tin cookie) người dùng Người sử dụng cần xác nhận xác nhận trước cho phép truy cập vào Bảo vệ thực cách hạn chế miền đường dẫn để chấp nhận cookie, thiết lập chúng HttpOnly, sử dụng SSL không lưu trữ liệu bí mật cookie Có thể vơ hiệu hóa việc sử dụng Script cách an toàn từ trang web khách hàng Các Header nội dung Chính sách An ninh sử dụng để bảo mật chống lại việc khai thác lỗ hổng XSS Ngồi ra, mã hóa cách thích hợp ký tự điều khiển HTML, JavaScript, CSS, URL nên thực để làm cho chúng vô hại trước chúng hiển thị trình duyệt Sử dụng lọc có để làm đầu vào người dùng: filter_sanitize_encoded (để mã hóa URL), htmlentities (lọc HTML), ilter_sanitize_magic_quotes (áp dụng addslashes ()) Các lọc giữ đồng hồ đầu vào người sử dụng kiểm tra javascript HTTP POST đầu vào sau ngăn chặn script thực thi Ngồi biện pháp có số thư viện bảo mật có sẵn để mã hóa người dùng nhập vào Project OWASP Encoding có sẵn Google Code, lọc HTML Htmlawed cho PHP Anti-XSS Class Các ứng dụng AntiSamy API cho Net XSS-HTML -Bộ lọc cho Java 4.9 Browser Exploits Bất kỳ khai thác stack ứng dụng trình duyệt thực mã shell mở phiên Meterpreter cách sử dụng lỗi nhớ liên quan đến lỗ hổng XSS Những lỗ hổng khác trả phiên Meterpreter mà không công ứng dụng stack cách trực tiếp Ví dụ java applet ký tự sử dụng để download mã độc thực tập tin exe BIỆN PHÁP KHẮC PHỤC XSS Trong ứng dụng web giới ngày phổ biến rộng rãi để cung cấp dịch vụ trực tuyến khác Nhưng đồng thời lỗ hổng ứng dụng phát công bố với tốc độ đáng báo động Trên giới, bảo mật web dễ dàng bị xâm nhập, bảo mật trở thành bắt buộc để bảo vệ khỏi Các biện pháp khác áp dụng để tránh 5.2 Endpoint Protection Người dùng thực bước để ngăn chặn trở thành nạn nhân cross-site scripting cách cài đặt add-ons trình duyệt khác Những add ons giữ đồng hồ trường đầu vào khác (form, URL, vv), JavaScript 306 HTTP POST gặp phải, sau sử dụng lọc XSS để ngăn chặn script thực Ví dụ tiện ích bao gồm NoScript cho FireFox; NotScripts cho Chrome Opera Internet Explorer có chúng tính xây dựng từ trước cơng XSS đồng thời giải thích khái niệm đằng sau chúng Trong kết luận liệt kê vài chế bảo vệ thực server client để bảo vệ khỏi công XSS http://santoshdudhade.blogspot.in/2012/07 /x ssf-v22-cross-site-scriptingframework.html\ KẾT LUẬN Hiện tại, ứng dụng web trở thành phần thiếu sống Nhưng trang web thường tồn nhiều lỗ hổng dễ bị công Bài viết khám phá lỗ hổng tồn cách phổ biến cách khai thác XSS cơng tiêm mã tiền chi phối hình thành sở khai thác mạnh mẽ Nó thường kết hợp với lỗ hổng khác để thực công quan trọng Trong báo này, thảo luận vài công phổ biến Chúng liệt kê vài công cụ để phát XSS khai thác lỗ hổng XSS, với tính chúng Hơn đề cập tới vài lỗ hổng XSS Thông tin tác giả: TÀI LIỆU THAM KHẢO: Abraham, A (2012) Detecting and Exploiting XSS with Xenotix XSS Exploit Framework Cannon, T (2013, november 23) Android Data Stealing Vulnerability | thomascannon.net Cross-site Scripting (XSS)- OWASP (n.d.) Retrieved February 2013, from www.owasp.org Kumar, M (2011, September 20) iPhone Skype XSS Vulnerability Lets Hackers Steal Phonebook Nguyễn Ngọc Quân Sinh năm: 1985 Lý lịch khoa học: - Tốt nghiệp đại học kỹ thuật điện Quốc gia Saint Peterburgs, 2009, chun ngành khoa học máy tính - Hiện cơng tác Tổ NCPT An tồn thơng tin thuộc Viện công nghệ Thông tin Truyền thông – CDIT, Học viện Cơng nghệ Bưu Viễn thơng Lĩnh vực nghiên cứu nay: an ninh hạ tầng mạng, an ninh ứng dụng bảo mật điện toán đám mây Email: quannn@ptit.edu.vn 307 ... framework Android 2.2 Nó khai thác để truy cập tập tin lưu trữ SDcard thiết bị chạy Android Các Trình duyệt Android không nhắc nhở người dùng tải tập tin, ví dụ tập tin "payload.html" tự động tải / sdcard... lập chương trình URI cho trình duyệt nhúng "file :/ /" cho phép kẻ công truy cập hệ thống tập tin đọc tập tin đọc ứng dụng iOS sandbox CÁC TẤN CÔNG KHAI THÁC XSS 4.1 Dữ liệu Android có nhiều lỗ... trình duyệt để hiển thị file local cho phép cách thức để truy cập vào SDcard tập tin lưu trữ bên Sau đó, Nó gửi nội dung tập tin truy cập trở lại trang web có lỗ hổng.Việc khai thác đơn giản sử dụng

Ngày đăng: 28/12/2021, 09:43

HÌNH ẢNH LIÊN QUAN

Hình 1. Tấn công Reflected hoặc cross site scripting không liên tục  - Bài tập lớn tiểu luận nhóm  (54)
Hình 1. Tấn công Reflected hoặc cross site scripting không liên tục (Trang 3)
Hình 3. DOM based or Local XSS - Bài tập lớn tiểu luận nhóm  (54)
Hình 3. DOM based or Local XSS (Trang 3)
Hình 2. Stored or Persistent vulnerability - Bài tập lớn tiểu luận nhóm  (54)
Hình 2. Stored or Persistent vulnerability (Trang 3)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w