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

Bài tập lớn môn học kiểm thử an toàn thông tin kiểm thử web application bằng burp suite

91 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 91
Dung lượng 15,65 MB

Nội dung

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN BÀI TẬP LỚN MƠN HỌC KIỂM THỬ AN TỒN THƠNG TIN KIỂM THỬ WEB APPLICATION BẰNG BURP SUITE TP Hồ Chí Minh, tháng 11 năm 2022 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN BÀI TẬP LỚN MƠN HỌC KIỂM THỬ AN TỒN THƠNG TIN KIỂM THỬ WEB APPLICATION BẰNG BURP SUITE GVHD: TS Nguyễn Mạnh Thắng Học viên thực hiện: Vũ Duy Hưng Trịnh Hoàng Sơn Hồ Quý Thuận Lớp: CHAT1P TP Hồ Chí Minh, tháng 11 năm 2022 BẢNG PHÂN CÔNG CÔNG VIỆC CỦA NHÓM Tên người thực Nội dung thực Thời gian thực hiện Nghiên cứu, tìm tài liệu, nhiệm Trịnh Hoàng Sơn vụ cụ thể xây dựng Chương 1: Tổng quan bảo mật ứng dụng 1/11/2022  16/11/2022 Web Nghiên cứu, tìm tài liệu, nhiệm Hồ Quý Thuận vụ cụ thể xây dựng Chương 2: Các dạng công thường gặp lên 1/11/2022  16/11/2022 ứng dụng Web Nghiên cứu thực Chương 3: Vũ Duy Hưng Thực nghiệm kiểm thử Web 1/11/2022  16/11/2022 Bwapp với Burp Suite i MỤC LỤC BẢNG PHÂN CƠNG CƠNG VIỆC CỦA NHĨM .i MỤC LỤC ii DANH MỤC BẢNG, HÌNH ẢNH .iv DANH MỤC TỪ VIẾT TẮT .vi LỜI MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ BẢO MẬT ỨNG DỤNG WEB 1.1 GIỚI THIỆU VỀ DỊCH VỤ WEB VÀ KIẾN TRÚC ỨNG DỤNG WEB 1.1.1 Giao thức HTTP 1.1.2 Các thành phần ứng dụng web 1.1.3 Kiến trúc ứng dụng web 10 1.2 NGUYÊN TẮC BẢO MẬT ỨNG DỤNG WEB 12 1.2.1 Nguyên tắc chung 12 1.2.2 Các lớp bảo mật ứng dụng web 13 1.3 CÁC NGUY CƠ VÀ LỖ HỔNG BẢO MẬT TRONG ỨNG DỤNG WEB 15 1.3.1 Giới thiệu 15 1.3.2 10 nguy lỗ hổng bảo mật hàng đầu theo OWASP 16 1.4 CÁC PHƯƠNG PHÁP TIẾP CẬN BẢO MẬT ỨNG DỤNG WEB 20 1.4.1 Kiểm tra liệu đầu vào 20 1.4.2 Giảm thiểu giao diện bị cơng 20 1.4.3 Phòng vệ theo chiều sâu .21 1.5 CÁC PHƯƠNG PHÁP PENSTEST VÀ ĐẶC ĐIỂM 21 1.5.1 Giới thiệu phương pháp Pentest 21 1.5.2 Đặc điểm phương pháp Pentest Black box 21 1.5.3 Các bước tiến hành Pentest black box 22 1.5.4 Công cụ Pentest Black box Burp suite 23 CHƯƠNG CÁC DẠNG TẤN CÔNG THƯỜNG GẶP LÊN ỨNG DỤNG WEB 25 2.1 CHÈN MÃ HTML VÀ CROSS-SITE SCRIPTING 25 2.1.1 Khái quát 25 2.1.2 Các loại XSS 28 2.1.3 Các biện pháp phòng chống 34 2.1.4 Một số công 35 2.2 CROSS-SITE REQUEST FORGERY 38 2.2.1 Giới thiệu kịch 38 2.2.2 Phịng chống cơng CSRF 39 2.3 TẤN CÔNG CHÈN MÃ SQL 40 2.3.1 Khái quát 40 2.3.2 Vượt qua khâu xác thực người dùng 40 2.3.3 Chèn, sửa đổi, xóa liệu 41 2.3.4 Đánh cắp thông tin sở liệu 42 ii 2.3.5 Chiếm quyền điều khiển hệ thống máy chủ sở liệu 43 2.3.6 Phòng chống 44 2.4 TẤN CÔNG VÀO CÁC CƠ CHẾ XÁC THỰC 45 2.4.1 Giới thiệu 45 2.4.2 Các dạng công vào chế xác thực 45 2.4.3 Các biện pháp phịng chống cơng vào chế xác thực 48 2.5 TẤN CÔNG LỢI DỤNG CÁC KHIẾM KHUYỆT THIẾT KẾ 50 2.5.1 Giới thiệu 50 2.5.2 Một số dạng công khiếm khuyết thiết kế 51 2.5.3 Các biện pháp phòng chống 55 2.6 TẤN CƠNG VÀO TRÌNH DUYỆT VÀ SỰ RIÊNG TƯ CỦA NGƯỜI DÙNG 56 2.6.1 Giới thiệu 56 2.6.2 Các dạng cơng vào trình duyệt web riêng tư người dùng .57 2.6.3 Các biện pháp phòng chống 58 2.7 MỘT SỐ CASE-STUDY VỀ LỖ HỔNG VÀ TẤN CÔNG ỨNG DỤNG WEB 60 2.7.1 Đánh lừa tính đổi mật 60 2.7.2 Tấn cơng tính đặt hàng 61 2.7.3 Xóa ghi log 62 CHƯƠNG 3: THỰC NGHIỆM KIỂM THỬ WEB BWAPP 64 3.1 MƠ HÌNH THỰC NGHIỆM 64 3.1.1 Máy chủ Web 64 3.1.2 Máy kiểm thử Web .64 3.2 THỰC NGHIỆM KIỂM THỬ WEB BWAPP VỚI BURP SUITE 64 3.2.1 Thông tin Web Bwapp .64 3.2.2 Cấu trúc thư mục Bwapp 65 3.2.3 Xác định điểm vào Bwapp .65 3.2.4 Xác định khả công 66 3.2.5 Thực Scan lỗ hổng in báo cáo với Burp Suite .77 KẾT LUẬN 81 TÀI LIỆU THAM KHẢO 82 iii DANH MỤC BẢNG, HÌNH ẢNH Hình 1.1 Giao thức HTTP giao thức TCP/IP mơ hình tham chiếu OSI Hình 1.2 Máy khách (Web Browser) gửi yêu cầu (request) đến máy chủ (HTTP Server) .3 Hình 1.3 Máy chủ (HTTP Server) xử lý yêu cầu gửi đáp ứng (response) đến máy khách (Web Browser) Hình 1.4 Kiến trúc ứng dụng web Hình 1.5 Các thành phần URI Hình 1.6 Các mô tơ script ASP ASP.NET làm việc với máy chủ web Microsoft IIS Hình 1.7 Lưu đồ xử lý yêu cầu tạo trang web động với nội dung lấy từ sở liệu Hình 1.8 Kiến trúc chuẩn ứng dụng web .10 Hình 1.9 Kiến trúc lơ gic lớp ứng dụng web 11 Hình 1.10 Các dạng kiến trúc ứng dụng web .12 Hình 1.11 Các lớp bảo mật ứng dụng web 13 Hình 1.12 Lớp bảo mật máy chủ 14 Hình 1.13 Top 10 lỗ hổng bảo mật ứng dụng web theo OWASP (2017 2021) 15 Hình 1.14 Tấn cơng khai thác lỗ hổng chèn mã SQL 16 Hình 1.15 Minh họa cơng khai thác lỗi XSS 18 Hình 1.16 Quy trình thực kiểm thử với burp suite .24 Hình 2.1 Các bước công Stored XSS 29 Hình 2.2 Biểu diễn chạy mã script cơng Reflected XSS 30 Hình 2.3 Các bước công Reflected XSS .31 Hình 2.4 Form đăng ký ban đầu trang example.com 33 Hình 2.5 Form đăng ký bị cơng DOM-based XSS 33 Hình 2.6 Mã khai thác kích hoạt cơng DOM-based XSS 34 Hình 2.7 Mơ hình tổng qt phịng chống công XSS .35 Hình 2.8 Samy có gần triệu bạn (Friend) khoảng nhờ cơng XSS 36 Hình 2.9 Tấn cơng XSS thay đổi ảo hình thức/nội dung trang web 37 Hình 2.10 Tấn cơng khai thác lỗi XSS www.google.com để tạo form nhập thơng tin thẻ tín dụng để mua rẻ tài khoản Google 37 Hình 2.11 Form đăng nhập (log on) đoạn mã xử lý xác thực người dùng 40 Hình 2.12 Form tìm kiếm sản phẩm đoạn mã xử lý tìm sản phẩm 41 Hình 2.13 Nghe bắt token phiên Tcpdump .46 Hình 2.14 Nghe sử dụng Firesheep plug-in trình duyệt 47 Hình 2.15 Xác thực sử dụng OpenID 49 Hình 2.16 Sử dụng CAPTCHAR để xác thực trang .49 Hình 3.1 Cấu trúc Site Map 65 Hình 3.2 Xem request login.php 65 Hình 3.3 Đăng nhập Login 67 Hình 3.4 Bắt request từ trình duyệt 67 iv Hình 3.5 Gửi qua Intruder để thực công 68 Hình 3.6 Bỏ ký tự $ 68 Hình 3.7: Thêm ký tự $ vào trường để request .69 Hình 3.8 Chọn kiểu công 69 Hình 3.9 Chọn kiểu Payload 70 Hình 3.10 Chọn file để test 70 Hình 3.11 Bắt đầu cơng 71 Hình 3.12 Kết sau cơng vét cạn 71 Hình 3.13 Đánh dấu mẫu có chuỗi 72 Hình 3.14 Tấn công thành công 72 Hình 3.15 Tấn cơng XSS 73 Hình 3.16 Xem request đến proxy 73 Hình 3.17 Gửi mẫu request sang Intruder .74 Hình 18 Bỏ ký tự $ 74 Hình 3.19 Chọn kiểu công XSS 74 Hình 3.20 Bắt đầu cơng 75 Hình 3.21 Kết sau cơng .75 Hình 3.22 Xem URL cơng thành cơng .75 Hình 3.23 Màn hình đường dẫn cơng URL 76 Hình 3.24 Tấn cơng XSS thành công 76 Hình 3.25 Các bước để thực Scan 77 Hình 3.26 Cấu hình để Scan 77 Hình 3.27 Thực scan lỗ hổng 78 Hình 3.28 Kết sau Scan 78 Hình 3.29 Thực report 78 Hình 3.30 Chọn tham số để xuất report 79 Hình 3.31 Xuất report 80 v DANH MỤC TỪ VIẾT TẮT Từ viết tắt/ Tiếng Anh Thuật ngữ ACL API Tiếng Việt/ Giải thích Access Control List Danh sách điều khiển truy nhập Application Programming Interface Giao diện lập trình ứng dụng Ngơn ngữ script hỗ trợ máy ASP Active Server Page ASP.NET Active Server Page NET ATM Automatic Teller Machine Máy rút tiền tự động BIOS Basic Input Output System Hệ thống vào sở CGI Common Gateway Interface chủ web Microsoft IIS Ngôn ngữ script hỗ trợ máy chủ web Microsoft IIS với Net Framework Tên gọi chung mã script chạy máy chủ web để xử lý nghiệp vụ kết nối với sở liệu Continuous Integration and CI/CD Continuous Quy trình kết hợp tự động hố giúp đẩy nhanh tiến độ phát triển sản phẩm đưa sản phẩm đến người dùng cuối Delivery/Deployment GET, HEAD, Các phương thức làm yêu cầu POST trình duyệt web CSRF Cross-Site Request Fogery Tấn công giả mạo yêu cầu liên miền CSS Cascade Style Sheet Mẫu định dạng cho trang web DNS Domain Name System Hệ thống tên miền DOM Document Object Model Mơ hình đối tượng tài liệu Hash-based Message Mã xác thực thông điệp dựa hàm Authentication Code băm HMAC HTML Hyper-Text Markup Language Ngôn ngữ đánh dấu siêu văn HTTP Hyper-Text Transfer Protocol Giao thức truyền siêu văn HTTPS Secure HTTP HTTP bảo mật vi IPS/IDS IPSec ISAPI JSON LDAP CLASP MIME Intrusion Prevention System / Hệ thống ngăn chặn/phát xâm Intrusion Detection System nhập IP Security Giao thức bảo mật tầng IP Internet Server Application Giao diện lập trình ứng dụng cho máy Programming Interface chủ Internet JavaScript Object Notation Ký hiệu đối tượng JavaScript Lightweight Directory Giao thức truy cập thư mục nhẹ tải Access Protocol Comprehensive, Lightweight Quy trình bảo mật ứng dụng nhẹ, tồn Application Security Process diện Multipurpose Internet Mail Extensions Các mở rộng thư Internet đa mục đích NAT Network Address Translation OSI Open Systems Interconnection Mơ hình kết nối hệ thống mở OTP One Time Password OWASP SSL/TLS Giao thức dịch địa mạng Mật lần Open Web Application Dự án mở an toàn ứng dụng web Security Project Secure Socket Layer / Các giao thức bảo mật thông tin Transport Layer Security SSL/TLS SSO Single Sign On Đăng nhập lần TCP/IP Transfer Control Protocol / Bộ giao thức TCP/IP Internet Protocol TDE Transparent Data Encryption Mã hóa liệu suốt Web Browser / Web Client Trình duyệt web / Máy khách web Web Server Máy chủ web URI Uniform Resource Identifier Tên nhận dạng tài nguyên đồng URL Uniform Resource Locator Bộ định vị tài nguyên đồng URN Uniform Resource Name Tên tài nguyên đồng XML Xtensible Markup Language Ngôn ngữ đánh dấu mở rộng XSS Cross-Site Scripting Tấn công liên miền sử dụng mã script WAF Web Application Firewall Tường lửa ứng dụng web vii LỜI MỞ ĐẦU Ngày nay, công nghệ thơng tin nói chung cơng nghệ phần mềm nói riêng chiếm vị trí quan trọng tiến trình cơng nghiệp hố, đại hố đất nước Song song với việc phát triển công nghệ phần mềm tiềm ẩn thách thức cho dành doanh nghiệp, nhà phát triển phần mềm việc kiểm soát lỗi, chất lượng đầu sản phẩm Nguyên nhân gây thiệt hại kinh tế xã hội phần mềm khơng lỗi bảo mật mà cịn lỗi chức sản phẩm Kiểm thử phần mềm trình liên tục, xuyên suốt giai đoạn phát triển phần mềm để đảm bảo phần mềm thỏa mãn yêu cầu thiết kế yêu cầu đáp ứng nhu cầu người sử dụng Các kỹ thuật kiểm thử phần mềm nghiên cứu việc kiểm thử phần mềm trở thành quy trình bắt buộc dự án phát triển phần mềm giới Burp Suite công cụ hỗ trợ kiểm thử tự phương pháp Black Box cho ứng dụng Web, hoạt động hầu hết trình duyệt phổ biến Firefox, Chrome, … Với nhiều ưu điểm Burp Suite nhóm chọn đề tài “Kiểm thử Web Application Burp Suite” Nội dung luận văn chia làm 04 phần sau: Chương 1: Tổng quan bảo mật ứng dụng Web Chương giới thiệu dịch vụ kiến trúc ứng dụng Web, nguyên tắc bảo mật phương pháp tiếp cận để bảo mật ứng dụng Web Chương 2: Các dạng công thường gặp lên ứng dụng Web Chương đề cập đến dạng công phổ biến lên ứng dụng web, bao gồm công chèn mã HTML XSS, công giả mạo yêu cầu liên miền (CSRF), công chèn mã SQL,… Chương 3: Thực kiểm thử Web Bwapp Chương thực mơ hình để kiểm thử thực kiểm thử với chức Burp Suite Kết luận tập lớn Bước 3: Click chuột phải vào phần request qua proxy sau  “Send to Intruder” Hình 3.5: Hình 3.5 Gửi qua Intruder để thực công Bước 4: Bỏ tất ký tự “$” mẫu Request sau thực “Clear $” Hình 3.6: Hình 3.6 Bỏ ký tự $ 68 Bước 5: Click “Add $” vào trường nhập liệu cần test Hình 3.7: Hình 3.7: Thêm ký tự $ vào trường để request Bước 6: Thực chọn kiểu cơng “Attack type” Hình 3.8: Hình 3.8 Chọn kiểu cơng 69 Bước 7: Chọn Payload có trường cần cơng Hình 3.9: Hình 3.9 Chọn kiểu Payload Bước 8: Chọn file từ điển để cơng Hình 3.10: Hình 3.10 Chọn file để test 70 Bước 9: Bắt đầu thực cơng bấm “Start attack” Hình 3.11: Hình 3.11 Bắt đầu cơng Bước 10: Kết sau Attack Hình 3.12: Hình 3.12 Kết sau công vét cạn 71 Bước 11: Đánh đấu mẫu có chuỗi “Invalid credentials or user not activated” Report Attack Hình 3.13: Hình 3.13 Đánh dấu mẫu có chuỗi Bước 12: Trong Report Attack mẫu khơng đánh dấu tài khoản đăng nhập thành cơng Hình 3.14: Hình 3.14 Tấn cơng thành công 72 3.2.4.2 Thực kiểm thử XSS với Burp Suite a Kịch kiểm thử  Người dùng điền điền First name Last name Trong page XSS – Reflected (Post);  Sau bắt request đến Burp Proxy;  Sau thực kiểm thử với chức Tab “Intruder”;  Có list câu lệnh script để thực kiểm thử XSS b Thực kiểm thử Bước 1: Thực kiểm thử trang XSS – Reflected (POST), điền thông tin “Last name” “First name” Hình 3.15: Hình 3.15 Tấn cơng XSS Bước 2: Bắt request từ client lên server Hình 3.16: Hình 3.16 Xem request đến proxy 73 Bước 3: Gửi mẫu Request qua mục Intruder Hình 3.17: Hình 3.17 Gửi mẫu request sang Intruder Bước 4: Bỏ tất ký tự “$” mẫu Request thêm ký tự “$” vào trường nhập liệu cần test Hình 3.18: Hình 3.18 Bỏ ký tự $ tham số Bước 5: Trong “add from list” chọn fuzzing XSS Hình 3.19: Hình 3.19 Chọn kiểu cơng XSS 74 Bước 6: Thực công bấm “Start attack” Hình 3.20: Hình 3.20 Bắt đầu cơng Bước 7: Kết sau Attack Hình 3.21 Hình 3.21 Kết sau công Bước 8: Chọn dòng click chuột trái để hiển thị “Show response in browser” Hình 3.22: Hình 3.22 Xem URL công thành công 75 Bước 9: Chọn copy URL Hình 3.23: Hình 3.23 Màn hình đường dẫn công URL Bước 10: Tấn công XSS thành công với Burp Suite Hình 3.24: Hình 3.24 Tấn cơng XSS thành công 76 3.2.5 Thực Scan lỗ hổng in báo cáo với Burp Suite Bước 1: Thực Scan, tab Dashboard  New live task  Scan Detail chọn Hình 3.25 để thực Scan chủ động: Hình 3.25 Các bước để thực Scan Bước 2: Trong “Scan configuration” chọn cấu Hình 3.26: Hình 3.26 Cấu hình để Scan 77 Bước 3: Chọn URL có lỗ hổng Bwapp ví dụ hình 2.27: Hình 3.27 Thực scan lỗ hổng Bước 4: Sau scan có khả bị khai thác hình 3.28: Hình 3.28 Kết sau Scan Bước 5: Các thao tác thực phần report Burp Suite Hình 3.29: Hình 3.29 Thực report 78 Bước 6: Chọn tham số mặc định Hình 3.30 để xuất Report: Hình 3.30 Chọn tham số để xuất report 79 Bước 7: Bản report sau scan Burp Suite Hình 3.31: Hình 3.31 Xuất report 80 KẾT LUẬN Trong tuần tìm tịi nghiên cứu, tập lớn “Kiểm thử web application burp suite” hoàn thành với nỗ lực thành viên nhóm Mặc dù thời gian có hạn chế tập lớn đạt số kết sau:  Đã tìm hiểu, nghiên cứu trình bày tổng quan “Bảo mật ứng dụng Web”  Các dạng công thường gặp lên Web  Thực nghiệm kiểm thử Web Bwapp công cụ Burp Suite 81 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt: [1] Hoàng Xuân Dậu, “BÀI GIẢNG AN TOÀN ỨNG DỤNG WEB VÀ CƠ SỞ DỮ LIỆU”, 2017 [2] https://www.hocviendaotao.com/2018/12/huong-dan-kiem-thu-black-box-bangburp.html Tài liệu tiếng Anh: [3] https://owasp.org/www-project-top-ten/ [4] https://portswigger.net/burp/documentation [5] Module 8, web application penetration testing 82

Ngày đăng: 25/05/2023, 19:58

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

TÀI LIỆU LIÊN QUAN

w