Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 37 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
37
Dung lượng
3,97 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN Học phần: AN TỒN MẠNG Báo cáo tiểu luận cuối kỳ: TÌM HIỂU PHẦM MỀM WEBSCARAB Giảng viên hướng dẫn Sinh viên thực Mã sinh viên: Nhóm : TS Đặng Minh Tuấn : Nguyễn Nguyên Trung : B18DCAT252 : 02 Hà Nội 2021 Mục lục Danh mục từ viết tắt LỜI MỞ ĐẦU Chương Giới thiệu công cụ Webscarab 1.1.Tổng quan ứng dụng web 1.2.Tổng quan giao thức HTTP/HTTPS 1.3 Công cụ Webscarab 1.3.1 Giới thiệu 1.3.2 Lịch sử hình thành phát triển 1.3.3 Các tính WebScarab Chương 2: Cài đặt 2.1 Cài đặt Webscarb máy Kali linux 2.2 Hướng dẫn cài đặt sử dụng Webscarab (Phiên dành cho MacOS) 14 2.2.1 Cài đặt webscarab macos 14 2.2.2 Các tính ứng dụng webscarab 16 Chương 3: Demo 26 3.1 SQL Injection 26 Kêt luận 34 Lời cảm ơn 35 Tài liệu tham khảo .36 Danh mục từ viết tắt Từ viết tắt HTTP HTTPS Nghĩa tiếng anh Hypertext Transfer Protocol Hypertext Transfer Protocol Secure CGI CSDL SSL WWW URL Common Gateway Interface Database Secure Sockets Layer World Wide Web Uniform Resource Locators HTML Hypertext Markup Language OWAPS Open Web Application Security Project XSS CRLF Cross site scripting Carriage Return and Line Feed Nghĩa tiếng việt Giao thức truyền tải siêu văn Giao thức truyền tải siêu văn mã hoã Giao diện cổng chung Cơ sở liệu Lớp sockets an tồn khơng gian thơng tin tồn cầu Địa định vị tài ngun tồn cầu Ngơn ngữ Đánh dấu Siêu văn tổ chức phi lợi nhuận quốc tế chuyên bảo mật ứng dụng web Lỗ hổng Cross site scripting Lỗ hổng CRLF Injection LỜI MỞ ĐẦU Sự phát triển vượt bậc internet nhiều năm khiến nhu cầu sử dụng người dân tồn giới tăng theo Do việc sử dụng mạng Internet để liên lạc, giao dịch, toán trở thành phần thiết yếu ngày nay, việc lưu trữ thông tin thân, khách hàng, … khơng gian mạng có ý nghĩa quan trọng Vậy nên việc đảm bảo bảo an toàn cho thơng tin lưu trữ cần phải cải tiến phát triển đồng hành với tiến Internet Một vấn đề nghiêm trọng liên quan đến quản lý an tồn thơng tin chưa có nhìn khái qt, tổng thể đến việc lỗ hổng, điểm yếu tồn hệ thống Các ứng dụng web, website bị cơng thường xun, ngày ước tính có khoảng 30.000 website bị công, người sử dụng website có người nạn nhân công mạng Việc website, ứng dụng web bị công dẫn đến thông tin bị tiết lộ, lừa đảo người dùng vấn nạn toàn cầu Việc xây dựng trang web bảo mật, có chế phòng vệ tốt điều quan trọng góp phần xây dựng nên mơi trường mạng an toàn, tin cậy cho người sử dụng Để làm điều trước hết phải có nhìn tổng quát trang web, ứng dụng web, lỗ hổng điểm yếu tồn để từ có hướng thích hợp đảm bảo tiêu chí an tồn – chất lượng – chi phí thấp Các công cụ rà quét lỗ hổng chế phịng chống tự động tích hợp ngày tương đối phổ biến ứng dụng rộng rãi Webscarab ứng dụng rà quét lỗ hổng, kiểm tra bảo mật web mã nguồn mở tảng ngôn ngữ Java phát triển The Open Web Application Security Project (OWASP) Đây sản phẩm tiên phong cho việc kiểm tra bảo mật trang web năm 2013 ứng dụng, công cụ khác đời phát triển mạnh Chương Giới thiệu công cụ Webscarab 1.1.Tổng quan ứng dụng web Ứng dụng web ứng dụng khách chủ sử dụng giao thức HTTP để tương với người dùng hệ thống khác Trình khách cho người dùng thường trình duyệt Chrome, Internet Explorer, Fire Fox, Opera … Người dùng gửi nhận thơng tin từ trình chủ thông qua việc tác động vào trang web Các chương trình trang trao đổi, bán hàng, diễn đàn gửi nhận email, … Các kỹ thuật xây dựng ứng dụng web có tốc độ phát triển nhanh Trước ứng dụng web thường xây dựng từ CGI (Common Gateway Interface) chạy trình chủ web kết nối vào CSDL đơn giản máy chủ Ngày ứng dụng web thường viết Java, ASP, PHP, … chạy máy chủ phân tán, kết nối đến nhiều nguồn liệu Một ứng dụng web thường có cấu trúc sau: Hình 1.1 Cấu trúc ứng dụng web - Client: Lớp bao gồm trình duyệt web ứng dụng tạo HTTP request đến Web Server - Server: Lớp bao gồm Web Server can thiệp request tạo Client trả phản hồi (response) - Business: Lớp bao gồm ứng dụng Server tận dụng Web Server để thực tiến trình xử lý cần thiết Lớp tương tác với lớp Data qua chương trình bên ngồi - Data: Lớp bao gồm Database nguồn liệu Mơ hình hoạt động ứng dụng web Hình 1.2 Mơ hình hoạt động ứng dụng web Trong đó: - Trình khách: Các trình duyệt Internet Explorer, Fire Fox, … Trình chủ: Apache, IIS Hệ quản trị CSDL: SQL Server, MySQL, … Tưởng lửa (Firewall) giải pháp bảo vệ hệ thống mạng có vai trị lớp rào chắn bên ngồi với chức kiểm sốt luồng thơng tin máy tính 1.2.Tổng quan giao thức HTTP/HTTPS HTTP viết tắt Giao thức truyền tải siêu văn (Hypertext Transfer Protocol) giao thức cấp độ ứng dụng cho hệ thống thông tin phân phối, cộng tác đa phương tiện Đây tảng cho giao tiếp thông tin cho World Wide Web (ví dụ: Internet) từ 1990 HTTP giao thức chung stateless mà sử dụng cho mục đích khác mở rộng phương thức yêu cầu, code lỗi Header Theo bản, HTTP giao thức giao tiếp sở TCP/IP, mà sử dụng để phân phối liệu (các tệp HTML, file ảnh, …) WWW Cổng mặc định TCP 80, cổng khác sử dụng Nó cung cấp cách tiêu chuẩn hóa cho máy tính để giao tiếp với Chi tiết kỹ thuật HTTP xác định cách mà liệu yêu cầu Client xây dựng gửi tới Server, cách để Server phản hồi yêu cầu HTTPS viết tắt Hypertext Transfer Protocol Secure, giao thức kết hợp giao thức HTTP giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin cách bảo mật Internet Giao thức HTTPS thường dùng giao dịch nhạy cảm cần tính bảo mật cao 1.3 Cơng cụ Webscarab 1.3.1 Giới thiệu WebScarab framework viết Java phục vụ cho việc phân tích ứng dụng web với hai giao thức hỗ trợ HTTP HTTPS WebScarab có khả ghi lại thay đổi tham số ứng dụng trước trình yêu cầu, phản hồi trình duyệt ứng dụng web Hình 1.3: Icon webscarab Nó có số chế độ hoạt động, thực nhờ có số plugin Cách sử dụng phổ biến WebScarab hoạt động proxy chặn, cho phép nhà điều hành xem xét sửa đổi request trình duyệt tạo trước chúng gửi đến máy chủ, đồng thời xem xét sửa đổi phản hồi trả từ máy chủ trước chúng trình duyệt nhận WebScarab bắt chặn giao tiếp HTTP HTTPS Người điều hành xem lại hội thoại (request respond) chuyển qua WebScarab 1.3.2 Lịch sử hình thành phát triển WebScarab bắt nguồn từ thiết kế người sống danh sách WebAppSec chạy từ SourceForge, cho công cụ mạnh mẽ, miễn phí, mở để xem xét ứng dụng web tìm lỗ hổng bảo mật Khơng có nhiều thiết kế ban đầu thực thực hình dung WebScarab bắt đầu nhện tải xuống tất trang trang web Nó gần năm, trước định rút học kinh nghiệm trình phát triển Exodus triển khai chúng phần WebScarab Hầu khơng có WebScarab ban đầu lại sở mã nguồn Mặc dù mã nguồn spider mà WebSphinx / WebScarab dựa cải tiến kiểm tra kỹ lưỡng, khơng phù hợp với quan điểm nhà sản xuất cách hoạt động cơng cụ Thay tách 99% WebSphinx, nhà sản xuất chọn triển khai nhện tầm thường vị trí Mã nguồn WebScarab / WebSphinx gốc có sẵn từ SourceForge, cho quan tâm Vào năm 2013, trình phát triển thức WebScarab bị chậm lại Dự án Zed Attack Proxy ("ZAP") OWASP (một công cụ proxy mã nguồn mở khác dựa Java có nhiều tính phát triển tích cực) người kế nhiệm thức WebScarab, [2] [3 ] thân ZAP fork từ Paros Proxy, WebScarab [4] 1.3.3 Các tính WebScarab WebScarab cung cấp số tính plugin tuyệt vời hỗ trợ người thử nghiệm bút hiểu rõ hành vi ứng dụng web Dưới plugin với mô tả ngắn chúng theo trang web thức WebScarab: - Phân đoạn - trích xuất tập lệnh nhận xét HTML từ trang HTML chúng nhìn thấy qua proxy plugin khác - Proxy - quan sát lưu lượng truy cập trình duyệt máy chủ web Proxy WebScarab quan sát lưu lượng HTTP HTTPS mã hóa cách thỏa thuận kết nối SSL WebScarab trình duyệt, thay kết nối trình duyệt với máy chủ cho phép luồng mã hóa qua Nhiều plugin proxy khác phát triển phép nhà điều hành kiểm soát yêu cầu phản hồi qua proxy - Đánh chặn thủ công - cho phép người dùng sửa đổi nhanh yêu cầu phản hồi HTTP HTTPS, trước chúng đến máy chủ trình duyệt - Beanshell - cho phép thực hoạt động phức tạp tùy ý yêu cầu phản hồi Bất thứ thể Java thực thi - Hiển thị trường ẩn - thay đổi tất trường ẩn tìm thấy trang HTML thành trường văn bản, làm cho chúng hiển thị chỉnh sửa Đơi khi, việc sửa đổi trường ẩn trang dễ dàng chặn yêu cầu sau gửi - Trình mơ băng thông - cho phép người dùng giả lập mạng chậm để quan sát trang web họ hoạt động truy cập qua modem - Spider - xác định URL trang web mục tiêu tìm nạp chúng theo lệnh - Yêu cầu thủ công - cho phép chỉnh sửa phát lại yêu cầu trước tạo u cầu hồn tồn - Phân tích SessionID - thu thập phân tích số cookie để xác định trực quan mức độ ngẫu nhiên đốn trước Lưu ý phân tích tầm thường không thực kiểm tra nghiêm túc nào, chẳng hạn FIPS, v.v - Tìm kiếm - cho phép người dùng tạo biểu thức BeanShell tùy ý để xác định hội thoại hiển thị danh sách - So sánh - tính tốn khoảng cách chỉnh sửa quan phản hồi hội thoại quan sát hội thoại chọn Khoảng cách chỉnh sửa “số lần chỉnh sửa cần thiết để chuyển đổi tài liệu thành tài liệu khác” Vì lý hiệu suất, chỉnh sửa tính cách sử dụng mã thơng báo từ, thay byte - XSS / CRLF - plugin phân tích thụ động tìm kiếm liệu người dùng kiểm soát tiêu đề nội dung phản hồi HTTP để xác định khả chèn CRLF (phân tách phản hồi HTTP) lỗ hổng phản ánh kịch chéo trang (XSS) Chương 2: Cài đặt 2.1 Cài đặt Webscarb máy Kali linux Chuẩn bị máy kali Hình 2.1: Cấu hình máy ảo kali Lệnh lscpu cung cấp thông tin CPU đơn vị xử lý Lệnh khơng có tùy chọn chức khác Hình 2.2: Thông tin hệ điều hành máy ảo Kali Dùng lệnh uname -a để xem thông tin hệ điều hành tên người dùng Hình 2.18: Quy trình đăng nhập Trong tab Collection người dùng thấy request mà người dùng gửi suốt trình đăng nhập Có thể hiểu trị chuyện server client 22 Hình 2.19: Tab Collection Session ID Analysis 23 Hình 2.20: Chọn phiên để phân tích 24 Hình 2.21: Phân tích 25 Chương 3: Demo 3.1 SQL Injection Phần tập trung vào ứng dụng Hecme Casino Foundstone cố tình có lỗ hổng tích hợp sẵn ứng dụng Fuzzing tập trung vào loại lỗ hổng thông số khác ứng dụng web (ví dụ XSS, SQL injection, truy vấn, đường dẫn thư mục, v.v.), hướng dẫn tập trung vào tham số dễ bị SQL injection Hình 3.1: Cố gắng đăng nhập vào Hacme Casino Thao tác không đăng nhập vào ứng dụng Webscarab nắm bắt trình đăng nhập tab Summary Khi điều xảy ra, tìm hội thoại đăng nhập tab Summary Sau bạn tìm thấy trị chuyện đăng nhập, cần nhấp chuột phải chọn “Use as fuzz template”, thao tác gửi thông số tiêu đề liên quan đến yêu cầu / hội thoại đến tab fuzzing 26 Hình 3.2: Gửi trò chuyện tới mẫu fuzz Bây điều hướng đến tab Fuzzer Webscarab Tại đây, bạn thấy tất tham số liên kết với yêu cầu / trị chuyện Bạn thêm tham số vào yêu cầu xem cách ứng dụng web phản ứng với đường dẫn, giá trị kiểu khác Bạn xóa tham số để đơn giản để xem ứng dụng phản ứng thiếu tham số Khi bạn xác định thơng số cho fuzzing, bạn cần xác định nguồn fuzzing Vì vậy, nhấp vào nút “Sources” bên cạnh “Start” “Stop” tab Fuzzer Tại đây, bạn chọn tệp văn kiểu từ điển có chứa tham số mà bạn muốn làm mờ Tôi chọn từ điển SQL injection chúng tơi biết trường "username" dễ bị chèn SQL 27 Hình 3.3: Chọn nguồn fuzz Có nhiều từ điển SQL injection mạng, số chí cịn dành riêng cho tảng khác (ví dụ: MySQL, MS SQL Server, DB2, v.v.) Sau tất nguồn từ điển thêm vào, chuyển đến tab Fuzzer gán tham số cho nguồn fuzz 28 Hình 3.4: Menu thả xuống chứa nguồn fuzz Để ngăn tham số bị mờ, cần để trống trường “Fuzz Source” xóa hồn tồn tham số Trong trường hợp này, “user_login” tham số nhắc lại thông qua từ điển SQLattack Bước nhấp vào “Start” để Webscarab thử tất tham số bạn từ điển Điều có nghĩa giá trị “test” thay giá trị bên từ điển công SQL injection yêu cầu gửi đến máy chủ web cho tham số công bên từ điển bạn 29 Hình 3.5: Chạy làm mờ Lưu ý “Total Requests” “Current Request”, làm mờ chạy qua tất tham số từ điển SQL injection, hai số 68 Cũng lưu ý số ID 97 phía bên trái bảng , yêu cầu hoạt động fuzzing Yêu cầu cuối có số ID 164, điều quan trọng phải theo dõi ID yêu cầu xem xét kết hoạt động mờ Có thể thấy người dùng xem xét yêu cầu không bị mờ vô tình xác định u cầu khơng dễ bị công thực tế Khi làm mờ thực tất yêu cầu, cần xem xét lại kết để xem liệu có tham số công thành công lần tiêm SQL hay khơng Quay lại tab tóm tắt mở trị chuyện q trình Sau đó, thực thủ cơng trị chuyện liên quan đến hoạt động mờ tìm kiếm khác biệt câu trả lời Khác biệt nằm dấu ngoặc kép đánh dấu tìm kiếm SQL chèn khơng phải khoa học xác biết cách ứng dụng thường xử lý với đầu vào hữu ích việc xác định điều nên khơng nên mong đợi phản hồi HTTP 30 Hình 3.6: First Injection Ở thấy giá trị từ điển công thực sử dụng cho giá trị tên người dùng, tốt để biết Webscarab hoạt động bình thường Phần Hình 3.6 cho thấy yêu cầu POST gửi đến / account / login để kiểm tra thông tin đăng nhập người dùng, SQL injection khơng phải người dùng hợp lệ nên phản hồi chuyển hướng trở lại hình đăng nhập 31 Hình 3.7: Vị trí thay đổi SQL injection 32 Hình 3.8: Chèn mã SQL Hình 3.9: Đăng nhập thành cơng 33 Kêt luận WebScarab công cụ thiết kế chủ yếu để sử dụng cho người tự viết mã có hiểu biết tốt giao thức HTTP Đây cơng cụ ngồi việc đánh giá mức độ an tồn trang web, có cịn dùng để ngăn chặn công cách chủ động chặn proxy Webscarab cịn thực kiểu công chủ yến liên quan đến SQL Injection, XSS, … Bài báo cáo chủ yếu tìm hiểu lý thuyết chức WebScarab trình hình thành phát triển ứng dụng tác dụng việc đánh giá mức độ an toàn trang web Ứng dụng xây dựng tảng Kali Linux dùng nhiều hệ điều hành MacOS, Window, … 34 Lời cảm ơn Qua báo cáo cá nhân em hiểu thêm giao thức truyền tin HTTP, HTTPS, … cách thức hoạt động trang web có thêm kiến thức ngành an tồn thơng tin Ngồi q trình tìm hiểu Webscarab em học thêm nhiều công cụ khác phát triển dựa tảng đánh giá an toàn ứng dụng web Burp Suite, Snort có chức gần tương tự Em thật cảm ơn thầy tạo điều kiện cho bọn em có hội tìm hiểu kiến thức Em xin chân thành cảm ơn thầy chúc thầy mạnh khoẻ! 35 Tài liệu tham khảo Phạm Việt Toàn viblo.asia/ 2017 Colin Watson Open Web Application Security Project (OWASP) Training notes Dublin: OWASP, 2011 SD Editor securitydaily.net 2018 Trần Quốc Thắng Tìm hiểu số lỗi bảo mật phương pháp khắc phục lỗi bảo mật ứng dụng PHP Đà Nẵng: Khoa Công nghệ thông tin Đại học Bách khoa Đà Nẵng, 2011 Watmore, Jason jasonwatmore 2018 36 ... dụng mạng Internet để liên lạc, giao dịch, toán trở thành phần thiết yếu ngày nay, việc lưu trữ thông tin thân, khách hàng, … khơng gian mạng có ý nghĩa quan trọng Vậy nên việc đảm bảo bảo an toàn. .. 35 Tài liệu tham khảo .36 Danh mục từ viết tắt Từ viết tắt HTTP HTTPS Nghĩa tiếng anh Hypertext Transfer Protocol Hypertext Transfer Protocol Secure CGI CSDL SSL WWW URL Common... nạn nhân công mạng Việc website, ứng dụng web bị công dẫn đến thông tin bị tiết lộ, lừa đảo người dùng vấn nạn toàn cầu Việc xây dựng trang web bảo mật, có chế phịng vệ tốt điều quan trọng góp