1. Trang chủ
  2. » Kỹ Năng Mềm

Bài tập lớn môn an toàn mạng (1)

36 33 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

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 BÀI TIỂU LUẬN MƠN AN TỒN MẠNG Đề tài: TÌM HIỂU CƠNG CỤ KHAI THÁC LỖ HỔNG SỬ DỤNG CÔNG CỤ BBQSQL Giảng viên hướng dẫn: TS ĐẶNG MINH TUẤN Sinh viên thực : PHẠM THỊ ANH THƠ Mã sinh viên : B18DCAT243 Hà Nội, 2021 LỜI NĨI ĐẦU Trước trình bày nội dung phần báo cáo tiểu luận mình, em xin gửi lời cảm ơn chân thành tới T.S Đặng Minh Tuấn, người trực tiếp hướng dẫn, cung cấp tài liệu cho chúng em để chúng em hồn thành báo cáo Do thời gian có hạn hạn chế mặt kiến thức, báo cáo khơng tránh khỏi vài sai sót nhỏ Vì vậy, em mong nhận ý kiến đóng góp thầy bạn để đề tài hoàn thiện Hà Nội, tháng 12 năm 2021 Sinh viên thực Phạm Thị Anh Thơ MỤC LỤC DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ DANH MỤC BẢNG BIỂU PHẦN MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU CHUNG 1 Giới thiệu lỗ hổng Web theo TOP 10 OWASP 1.1.1 Tổng quan 1.1.2 Một số kỹ thuật khai thác lỗ hổng bảo mật Web 1.2 Giới thiệu SQL Injection 10 1.2.1 Lịch sử hình thành phát triển SQL 10 1.2.2 Khái niệm SQL Injection 11 1.2.3 Phân loại kiểu công SQL Injection 12 1.3 Giới thiệu Blind SQL Injection 13 1.3.1 Khái niệm Blind SQL Injection 13 1.3.2 Boolean Expoitation 14 1.3.3 Time – based Blind SQLi 15 1.4 Giới thiệu công cụ BBQSQL 16 CHƯƠNG 2: CÀI ĐẶT CÔNG CỤ BBQSQL TRÊN KALI LINUX 18 2.1 Yêu cầu trước cài đặt 18 2.2 Hướng dẫn cài đặt 18 2.3 Hướng dẫn sử dụng công cụ BBQSQL 22 2.3.1 Khởi động tuỳ chọn 22 2.3.2 HTTP Parameters 24 2.3.3 BBQSQL Options 26 2.3.4 Export Config 28 2.3.5 Import Config 29 2.3.6 Custom Hooks 29 CHƯƠNG 3: BÀI LAB DEMO VÀ KỊCH BẢN TẤN CÔNG 31 3.1 Cách thức công 31 3.2 So sánh BBQSQL với SQL Map 33 KẾT LUẬN 34 TÀI LIỆU THAM KHẢO 35 DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT Từ viết tắt BBQSQL Blind SQLi CSS ENISA HTTP IBM IETF IP ISACA ISO NIST OWASP PHP PIP SEQUEL SQLI SQL Thuật ngữ tiếng Anh/Giải thích Blind SQL Framework Thuật ngữ tiếng Việt/Giải thích Cơng cụ khai thác lỗ hổng Một loại công SQL Structured Query Language Injection Cross Site Scripting Một lỗ hổng phổ biến Web The European Union Agency Cơ quan an tồn mạng bảo mật for Cybersecurity thơng tin Liên minh châu Âu Hypertext Transfer Protocol Giao thức truyền tải siêu văn Tập đồn cơng nghệ máy tính đa International Business Machines quốc gia Lực lượng chuyên tách kỹ thuật Internet Engineering Task Force liên mạng Internet Protocol Địa giao thức Internet Information Systems Audit and Hiệp hội nghề nghiệp quốc tế tập Control Association trung vào CNTT International Organization for Tổ chức tiêu chuẩn hóa quốc tế Standardization Viện Tiêu chuẩn Công nghệ National Institute of Standards quốc gia Bộ thương mại Hoa and Technology Kỳ Open Web Application Security Dự án bảo mật ứng dụng Web mở Project - Tổ chức phi lợi nhuận Hypertext Preprocessor Ngôn ngữ lập trình kịch Trình quản lý gói tiêu chuẩn Preferred Installer Program (package/module) cho Python Structured English Query Tên ngôn ngữ trước đổi thành Language SQL Một kỹ thuật sử dụng SQL Injection công ứng dụng web, Structured Query Language Ngôn ngữ truy vấn cấu trúc DANH MỤC CÁC HÌNH VẼ Hình 1.1 Danh sách top 10 lỗ hổng bảo mật theo OWASP năm 2021 10 Hình 1.2 Phân loại kiểu công SQL Injection 12 Hình 1.3 Thơng tin tác giả bên cấp giấy phép công cụ BBQSQL 16 Hình 1.4 Các phiên BBQSQL 17 Hình 2.1 : Import thêm Sources.list 19 Hình 2.2 : Thực update/ upgrade sau import gói vào Sources.list 20 Hình 2.3 : Cài đặt Python Kali Linux 20 Hình 2.4 : Xem phiên Python Kali Linux 21 Hình 2.5 : Đặt Python3 làm phiên mặc định Kali Linux 21 Hình 2.6: Cài đặt Python3-pip 21 Hình 2.7: Cài đặt Python-gevent Python-requests 22 Hình 2.8: Cài đặt BBQSQL 22 Hình 2.9 : Phiên BBQSQL 23 Hình 2.10: Giới thiệu cơng cụ BBQSQL 23 Hình 2.11: Danh sách tùy chọn (menu) 24 Hình 2.12 : Các options Menu BBQSQL 26 DANH MỤC BẢNG BIỂU Bảng 1: Tiêu chuẩn SQL trải qua số phiên 11 Bảng 2: Danh sách tùy chọn BBQSQL 24 PHẦN MỞ ĐẦU Với nhu cầu trao đổi thông tin cần thiết ngày nay, bắt buộc quan, tổ chức phải hoà vào mạng toàn cầu Internet An toàn bảo mật thông tin vấn đề quan trọng hang đầu việc kết nối mạng nội quan, doanh nghiệp, tổ chức với Internet hay cá nhân Ngày nay, biện pháp an tồn thơng tin cho máy tính cá nhân hay website mạng nội nghiên cứu triển khai Tuy nhiên, thường xuyên xảy tình trạng như: hệ thống mạng hay website bị công, tổ chức bị đánh cắp thông tin gây nên hậu vô nghiêm trọng Những vụ công nhằm vào hệ thống thuộc công ty lớn AT&T, IBM, trường đại học, quan nhà nước, tổ chức quân sự, ngân hàng, xảy thường xuyên, đôi lúc xảy số vụ công với quy mơ khổng lồ vào tập đồn tài hay ngân hàng lớn Hơn thông tin phần tảng bang trôi Một phần lớn vụ công không thông báo nhiều lý do, số kể lo uy tín đơn giản người quản trị dự án không hay biết vụ công nhằm vào hệ thống họ Để đảm bảo hệ thống hay trang web an toàn, người ta tạo kỹ thuật kiểm thử xâm nhập (Penetration Testing) Các kỹ thuật dùng để phát lỗ hổng, rủi ro hay mối đe doạ bảo mật mà hacker khai thác ứng dụng phần mềm, mạng hay ứng dụng web Mục đích kiểm thử xâm nhập xác định kiểm tra tất lỗ hổng bảo mật có phần mềm Một số cơng cụ dùng để khai thác lỗ hổng phục vụ cho việc kiểm thử xâm nhập BBQSQL, có khả khai thác lỗ hổng Blind SQL Injection CHƯƠNG 1: GIỚI THIỆU CHUNG 1 Giới thiệu lỗ hổng Web theo TOP 10 OWASP 1.1.1 Tổng quan Trong thời đại công nghệ phát triển nay, việc đảm bảo an ninh thông tin không gian mạng vấn đề dành nhiều quan tâm Nguy an tồn thơng tin mối đe dọa lớn ngày gia tăng an ninh quốc gia Có nhiều mục tiêu mà tin tặc thường nhắm tới máy chủ dịch vụ mạng, hệ thống sở hạ tầng mạng Trong hệ thống website mục tiêu phổ biến tính phổ cập dễ tiếp cận tin tặc Do việc bảo mật cho website trọng đặt yêu cầu đặc biệt việc kiểm thử Các khái niệm liên quan đến hệ thống website bao gồm: • Webserver: máy tính có kết nối internet cài chương trình đặc biệt nhằm nhiệm vụ xử lý yêu cầu từ phía người dùng phản hồi yêu cầu Máy chủ web xử lý liệu cung cấp thông tin đến máy khách thông qua máy tính cá nhân mơi trường Internet qua giao thức HTTP, giao thức thiết kế để gửi tệp tin đến trình duyệt Web, giao thức khác • Request: hiểu thơng tin gửi từ client (máy khách) lên server (máy chủ) Khi sử dụng trình duyệt truy cập địa Ví dụ truy cập địa google.com trình duyệt dựa vào tên miền để gửi yêu cầu truy cập đến địa IP mà tên miền trỏ tới, lúc phía máy chủ phân tích yêu cầu gửi luồng xử lý tới vị trí lưu trữ mã nguồn PHP (hoặc mã nguồn bất kì) nhiệm vụ mã nguồn tiếp nhận yêu cầu, phân tích u cầu trả kết lại cho máy khách trang web mà máy chủ Google tìm kiếm • Response : liệu mà máy chủ web trả cho máy khách Có thể chuỗi HTML liệu đa phương tiện ảnh, video… Trình duyệt web máy khách có nhiệm vụ xử lý hiển thị nội dung thành giao diện trực quan cho người sử dụng • Database: nơi lưu trữ nội dung website, sở liệu lưu thơng tin tài khoản, mật khẩu, email … người dùng Hoặc chí thông tin quan trọng thơng tin thẻ tốn hồ sơ y tế Vậy nên mục tiêu phổ biến Hacker Lỗ hổng bảo mật (tiếng Anh: vulnerability) khái niệm phổ biến giới an tồn thơng tin Có nhiều định nghĩa khác lỗ hổng, tất có điểm chung ám điểm yếu (kỹ thuật phi kỹ thuật) phần mềm, phần cứng, giao thức, hay hệ thống thông tin Dưới số định nghĩa lỗ hổng bảo mật: Theo Viện Tiêu chuẩn Công nghệ Quốc gia (NIST): Điểm yếu hệ thống thơng tin, quy trình bảo mật hệ thống, kiểm sốt nội cơng tác triển khai bị khai thác tác nhân gây hại Theo ISO 27005: Điểm yếu tài sản nhóm tài sản bị khai thác nhiều mối đe dọa mạng, tài sản thứ có giá trị tổ chức, hoạt động kinh doanh tổ chức tính liên tục hoạt động đó, bao gồm tài nguyên thông tin hỗ trợ sứ mệnh tổ chức Theo IETF RFC 4949: Một lỗ hổng điểm yếu thiết kế, triển khai vận hành quản lý hệ thống bị khai thác để vi phạm sách bảo mật hệ thống Theo ENISA: Sự tồn điểm yếu, thiết kế lỗi triển khai dẫn đến cố không mong muốn làm tổn hại đến bảo mật hệ thống máy tính, mạng, ứng dụng giao thức liên quan Theo The Open Group: Xác suất khả mối đe dọa vượt khả chống lại mối đe dọa Phân tích nhân tố rủi ro thơng tin: Xác suất tài sản chống lại hành động tác nhân đe dọa Theo ISACA: Một điểm yếu thiết kế, triển khai, vận hành kiểm soát nội Cách thức hoạt động việc khai thác lỗ hổng bảo mật Web bản: Hacker sử dụng cơng cụ dị quét để phát loạt website có cấu hình bảo mật website tảng khác “WordPress” hay “Joomla” có lỗ hổng công bố chưa xử lý Từ Hacker lợi dụng để cơng, cài đặt mã độc phá hoại website nhằm trục lợi 1.1.2 Một số kỹ thuật khai thác lỗ hổng bảo mật Web Về có nhiều loại lỗ hổng khác có nhiều cách phân chia khác Các lỗ hổng phân chia theo tảng, thành phần có lỗ hổng Hoặc chia theo phương thức cơng Trong thực tế, có nhiều ứng dụng web khơng an tồn phải đối mặt với việc bị khai thác Dưới số thống kê số lượng lỗ hổng ứng dụng web tìm cập nhật năm 2021, thống kê IBM Hình 1.1 Danh sách top 10 lỗ hổng bảo mật theo OWASP năm 2021 Lỗ hổng ứng dụng web chia thành hai phần chính: • Lỗ hổng server: kể tới lỗ hổng liên quan tới việc xác thực người dùng, lỗ hổng liên quan tới việc quản lý phiên (sesion), lỗ hổng liên quan tới sở liệu • Lỗ hổng client: kể tới Cross-site Scripting, On-site Request Forgery 1.2 Giới thiệu SQL Injection 1.2.1 Lịch sử hình thành phát triển SQL Năm 1974, D Chamberlin (IBM San Jose Lab) định nghĩa ngôn ngữ SEQUEL (Structured English Query Language) Một phiên sửa chữa, SEQUEL/2, đưa vào năm 1976 sau đổi tên thành SQL lý pháp lý Sau IBM tạo mẫu HQTCSDL gọi System R, dựa SEQUEL/2 Tuy nhiên gốc rễ SQL từ ngôn ngữ SQUARE (Specifying Queries as Relational Expressions), ngơn ngữ có trước dự án System R Vào cuối 70s, ORACLE xuất xem HQTCSDL thương mại dựa SQL Năm 1987, ANSI ISO công bố chuẩn cho SQL Năm 1989, ISO công bố thêm phần phụ lục định nghĩa ‘Nét cải tiến cho toàn vẹn’ Năm 1992, phiên chỉnh sửa chuẩn có mặt, mang tên SQL2 hay SQL-92 Năm 1999, SQL:1999 phát hành với chuẩn hỗ trợ cho quản lý liệu hướng đối tượng Vào cuối năm 2003, SQL:2003 đời 10 Hình 2.7: Cài đặt Python-gevent Python-requests Cài đặt BBQSQL Sau cài đặt xong công cụ hỗ trợ, tiến hành install tool BBQSQL Câu lệnh: $pip install bbqsql Hình 2.8: Cài đặt BBQSQL 2.3 Hướng dẫn sử dụng công cụ BBQSQL 2.3.1 Khởi động tuỳ chọn Khi cài đặt xong công cụ BBQSQL, ta vào công cụ lệnh gọi : $bbqsql 22 Hình 2.9 : Phiên BBQSQL Phần xuất giới thiệu thông tin công cụ Hình 2.10: Giới thiệu cơng cụ BBQSQL Ở có danh dách menu tùy chọn 23 Hình 2.11: Danh sách tùy chọn (menu) Bảng 2: Danh sách tùy chọn BBQSQL Tùy chọn 1) Setup HTTP Parameters 2) Setup BBQSQL Options 3) Export Config 4) Import Config 5) Run Exploit 6) Help, Credits, and About 99) Exit the bbqsql injection toolkit Chức Tham số HTTP Các loại BBQSQL Cấu hình xuất Cấu hình nhập Chạy lỗ hổng Các tài liệu BBQSQL Thoát khỏi tool BBQSQL 2.3.2 HTTP Parameters Tương tự công cụ SQL Injection khác, cần phải cung cấp thông tin yêu cầu định BBQSQL sử dụng thông tin tham số HTTP để thực công Thông tin bao gồm: - URL - Phương thức HTTP ( HTTP method) - Tiêu đề (headers) - Cookies - Phương pháp mã hóa (Encoding methods) 24 - Hành vi chuyển hướng (Redirect_behavior) - Tệp(files) - HTTP Auth - Proxies -… 2.3.2.a) Files Cung cấp tệp gửi với yêu cầu Đặt giá trị cho đường dẫn BBQSQL xử lý việc mở / bao gồm tệp 2.3.2.b) Headers Tiêu đề HTTP gửi với yêu cầu Đây chuỗi từ điển Ví dụ: {"User-Agent":"bbqsql"} "User-Agent: bbqsql" Sau cung cấp thông tin yêu cầu cần phải định nơi inject inject theo cú pháp 2.3.2.c) Cookies Từ điển chuỗi cookie gửi với yêu cầu Ví dụ: Cookies => {"PHPSESSIONID":"123123", ‘FOO’ : ‘BAR${query}’} 2.3.2.d) URL Chỉ định url mà yêu cầu gửi đến Injection đâu, ví dụ đường dẫn: url => “http://google.com?vuln=$(query)” $(query)”: dấu ngoặc nơi mà chèn cú pháp truy vấn đến lỗ hổng 2.3.2.e) Allow_redirect Đây boolean xác định chuyển hướng http ướt thực đưa yêu cầu 25 2.3.2.f) Proxy Chỉ định proxy http sử dụng cho yêu cầu làm từ điển Ví dụ: {"http": "10.10.1.10:3128","https": "10.10.1.10:1080"} 2.3.2.g) Data Chỉ định liệu đăng gửi với yêu cầu Đây chuỗi từ điển Ví dụ: {"input_field":"value"} input_field=value Data => “user=foo&pass=${query}” 2.3.2.h) Methods Chỉ định phương thức cho yêu cầu http Các phương thức hợp lệ là: 'get','options','head','post','put','patch','delete' 2.3.2.i) Auth Chỉ định nhiều tên người dùng mật sử dụng để xác thực http Ví dụ: ("myusername","mypassword") 2.3.3 BBQSQL Options Hình 2.12 : Các options Menu BBQSQL 2.3.3.a) query 26 Nếu bạn gặp phải lỗ hổng SQL injection có số điểm kỳ quặc (chẳng hạn số ký tự định đưa vào chức ASCII / CHAR khơng hoạt động), bạn thấy viết số loại tập lệnh với cú pháp chèn tùy chỉnh BBQSQL loại bỏ phần kịch cung cấp cách để bạn dán vào cú pháp truy vấn tùy chỉnh khai thác cách dễ dàng Đầu vào truy vấn nơi bạn xây dựng truy vấn sử dụng để lấy thơng tin từ sở liệu Giả định bạn xác định SQL injection tham số dễ bị công kiểm tra truy vấn thành cơng Ví dụ: Trong ví dụ này, kẻ cơng tìm cách chọn phiên sở liệu: vulnerable_parameter'; if(ASCII(SUBSTRING((SELECT @@version LIMIT OFFSET ${row_index}) , ${char_index} ,1))) ${comparator:>}ASCII(${char_val}) WAITFOR DELAY '0\:0\:0${sleep}'; -Cú pháp truy vấn dựa tham số cho BBQSQL biết cách thực công Bạn cần cung cấp thông tin tham số sau để công hoạt động Khi bạn đưa thứ vào truy vấn mình, bbqSQL thực phần cịn lại: • ${row_index}: Điều yêu cầu bbqSQL lặp lại hàng Vì chúng tơi sử dụng LIMIT, chúng tơi xem n số hàng tùy thuộc vào giá trị $ {row_index} • ${char_index}: Điều cho bbqSQL biết ký tự từ lựa chọn để truy vấn • ${char_val}: Điều cho bbqSQL biết nơi so sánh kết từ lựa chọn để xác thực kết • ${comparator}: Đây cách bạn yêu cầu BBQSQL so sánh phản hồi để xác định xem kết có hay không Theo mặc định, biểu tượng> sử dụng • ${sleep}: Đây tùy chọn cho bbqSQL biết nơi chèn số giây để sleep thực chèn SQL dựa thời gian Không phải tất người nắm giữ placeholders yêu cầu Ví dụ: bạn phát semi-blind boolean based SQL injection, bạn bỏ qua tham số ${sleep} 2.3.3.b) csv_output_file 27 Tên tệp để xuất kết Để trống phần bạn không muốn xuất thành tệp 2.3.3.c) technique BBQSQL sử dụng hai kỹ thuật thực công Blind SQLi Kỹ thuật mặc định sử dụng binary_search Kỹ thuật thứ hai bạn sử dụng frequency_search: Tìm kiếm tần suất dựa phân tích ngôn ngữ tiếng Anh để xác định tần suất xuất chữ Phương pháp tìm kiếm nhanh liệu entropi, chậm liệu khơng phải tiếng Anh liệu bị xáo trộn Ta định hai binary_searchhoặc frequency_searchlàm giá trị cho tham số 2.3.3.d) comparison_attr Điều định loại SQL injection mà bạn phát Tại đây, bạn đặt thuộc tính phản hồi http bbqsql xem xét để xác định true / false Bạn định: status_code, url, time, size, text, content, encoding, cookies, headers, history Nếu bạn xác định việc tiêm sql dẫn đến mã trạng thái máy chủ khác 'status_code' Nếu cookie khác, đặt 'cookie' Nếu kích thước phản hồi khác nhau, đặt 'kích thước' Bạn nhận jist 2.3.3.e) concurrency Concurrency dựa thư viện gevent Python Về mặt chức năng, hoạt động giống phân luồng Cài đặt kiểm soát lượng đồng thời để chạy cơng Điều hữu ích để điều chỉnh yêu cầu tăng tốc thời gian công Đối với máy chủ web hiệu suất thực cao nginx, chúng tơi đặt đồng thời thành 75 Theo mặc định, giá trị đặt thành '30' 2.3.4 Export Config Sau thiết lập cơng giao diện người dùng, ta xuất tệp cấu hình Bạn thấy tùy chọn chạy công cụ Tệp cấu hình xuất sử dụng ConfigParser dễ đọc Có thể xem tệp cấu hình ví dụ bên dưới: 28 `[Request Config] url = http://example.com/sqlivuln/index.php?username=user1&password=secret${injecti on} method = GET [HTTP Config] query = ' and ASCII(SUBSTR((SELECT data FROM data LIMIT OFFSET ${row_index:1}),${char_index:1},1))${comparator:>}${char_val:0} # technique = binary_search comparison_attr = size concurrency = 30` Điều hữu ích có kế hoạch tiếp tục cơng điều chỉnh truy vấn khơng muốn phải cấu hình lại tùy chọn rắc rối 2.3.5 Import Config Ta nhập cấu hình từ dòng lệnh từ giao diện người dùng Để nhập cấu hình từ dịng lệnh, cần chạy bbqsl với tùy chọn sau: bbqsql -c config_file Khi tải tệp cấu hình thơng qua dịng lệnh giao diện người dùng, quy trình xác thực tương tự chạy tham số để đảm bảo tệp hợp lệ 2.3.6 Custom Hooks Khi cần mã hóa giá trị vào trường trước gửi yêu cầu bạn cần mã hóa ba URL Bất kể, tình làm cho công cụ khác sử dụng BBQSQL cho phép xác định hàm "hook" mà công cụ gọi điểm khác suốt yêu cầu Ví dụ: định pre_request hàm nhận yêu cầu làm đối số nó, thực mutations cần thiết trả yêu cầu sửa đổi để gửi đến máy chủ Để thực điều này, tạo tệp Python định function hooks Trong tệp hooks bạn, bạn xác định nhiều hàm hooks bạn muốn Sau đó, phần bbqsql_options phần menu, bạn định vị trí hooks_file BBQSQL thu hút tệp sử dụng hook bạn xác định 29 Điều quan trọng hàm hook mà bạn định phải có tên xác định bên dưới, khơng BBQSQL hook gọi Các args chức nhận tham số có chứa tất đối số sử dụng để tạo yêu cầu HTTP Các pre_request chức nhận đối tượng yêu cầu trước gửi Các post_request chức nhận đối tượng yêu cầu sau gửi Các response chức nhận đối tượng phản ứng trước trả lại cho BBQSQL Các hooks sau tạo sẵn: • args: Từ điển đối số gửi đến Request () • pre_request: Đối tượng Yêu cầu, trực tiếp trước gửi • post_request: Đối tượng Yêu cầu, sau gửi • response: Phản hồi tạo từ Yêu cầu Một ví dụ file hook: 30 CHƯƠNG 3: BÀI LAB DEMO VÀ KỊCH BẢN TẤN CƠNG 3.1 Cách thức cơng a) Sử dụng câu query để inject vào HTTP Param BBQSQL Options Vào trang https://bible-history.com Vào Mục Category: Document Copy đường dẫn thay đổi vào value: https://bible-history.com/subcat.php?id=16 31 Hình 3.1 Thay đổi đường dẫn BBQSQL Options Sau chọn mục Help, Credits, and About Hình 3.2 Vào trang Help b) Sử dụng kĩ thuật binary_search 32 3.2 So sánh BBQSQL với SQL Map Giống Khác Uu điểm Nhược điểm Đều công cụ công cho Blind SQLi nói chung SQL Injection nói riêng SQLMap BBQSQL - Đây công cụ - Rất nhanh việc mạnh , quét loại khai thác lỗ hổng SQL công, đặc biệt dạng Injection cơng điển hình SQL - Có thể tự tạo truy vấn tùy injection chỉnh cú pháp inject - Được phát triển cập - Có thể tùy chỉnh thư viện( nhật viết Python) - Được chuyên gia bảo - Linh hoạt mật khuyên dùng - Cơ sở liệu bất khả tri - Dễ kết hợp với tools khác - Việc có thao tác - Việc khai thác dịng lệnh khiến cho BBQSQL khó để khai không quen với thác môi trường dịng lệnh cảm thấy khó để tìm hiểu cơng cụ - Khi khơng có sẵn cơng cụ tự động, phải tạo thêm tùy chỉnh => thời gian 33 KẾT LUẬN Bài báo cáo trình bày khái niệm tổng quát lỗ hổng Web nói chung, phương pháp cơng SQL Injection, giới thiệu Blind SQL Injection Bài báo cáo hướng dẫn cài đặt sử dụng công cụ BBQSQL hệ điều hành Linux Các cú pháp tuỳ chọn công cụ rõ ràng Tìm hiểu chi tiết option menu cơng cụ BBQSQL, từ tìm điểm tùy chỉnh để tiêm (inject) vào lỗ hổng Blind SQL Injection Nhìn chung, BBQSQL cơng cụ kiểm thử lỗ hổng Blind SQL Injection nhanh tự điều chỉnh thư viện, câu truy vấn để inject vào lỗ hổng Tuy nhiên để phát huy tối đa khả người dùng phải tùy chỉnh nhiều, đòi hỏi hiểu biết người kiểm thử, phần phức tạp hệ thống web ngày 34 TÀI LIỆU THAM KHẢO [1] Bisson, Marilyn "https://blog.eldernode.com/introducing-and-install-bbqsql-onkali/." n.d blog.eldernode.com/ [2] Brown, Korbin "https://linuxconfig.org/how-to-install-pip-on-kali-linux." 2021 inuxconfig.org [3] Fortuna, Andrea "https://www.andreafortuna.org/2016/09/28/bbqsql-a-frameworkfor-blind-sql-injections/." 2016 andreafortuna.org [4] iam_surve "https://iamsurvehacking.blogspot.com/2020/01/bbqsqlvulnerabilityanalysis-tool.html." 2020 iamsurvehacking.blogspot.com [5] ITSTAR "https://itstar.edu.vn/An-ninh-mang/tin-tuc-33/GIOI-THIEU-SQLINJECTION.html." 2019 itstar.edu.vn [6] Javatpoint "https://www.javatpoint.com/kali-linux-vulnerability-analysis-tools." n.d javatpoint.com [7] Kar, Debabrata "https://www.researchgate.net/publication/307965380_SQLiDDS_SQL_injection_ detection_using_document_similarity_measure." 2016 esearchgate.net [8] Kar, Debabrata "SQLiDDS: SQL injection detection using document similarity measure." Journal of Computer Security (2016) [9] Kingthorin "https://owasp.org/www-community/attacks/SQL_Injection." n.d owasp.org [10] ktflash "https://ktflash.gitbooks.io/ceh_v9/content/132_types_of_sql_injection.html." n.d ktflash.gitbooks.io/ceh_v9 [11] Matthewjthomas "https://github.com/CiscoCXSecurity/bbqsql." 2019 github.com [12] Owasp "https://owasp.org/www-community/attacks/SQL_Injection." n.d owasp.org [13] Owasp "https://owasp.org/wwwcommunity/attacks/SQL_Injection_Bypassing_WAF." n.d owasp.org 35 [14] Spett, Kevin "https://repo.zenksecurity.com/Techniques%20d.attaques%20%20.%20%20Failles/Blind_SQLInjec tion.pdf." 2005 repo.zenk-security.com 36 ... cần thiết ngày nay, bắt buộc quan, tổ chức phải hoà vào mạng toàn cầu Internet An toàn bảo mật thông tin vấn đề quan trọng hang đầu việc kết nối mạng nội quan, doanh nghiệp, tổ chức với Internet... 1.1.1 Tổng quan Trong thời đại công nghệ phát triển nay, việc đảm bảo an ninh thông tin không gian mạng vấn đề dành nhiều quan tâm Nguy an tồn thơng tin mối đe dọa lớn ngày gia tăng an ninh quốc... Query Language Injection Cross Site Scripting Một lỗ hổng phổ biến Web The European Union Agency Cơ quan an tồn mạng bảo mật for Cybersecurity thơng tin Liên minh châu Âu Hypertext Transfer Protocol

Ngày đăng: 08/01/2022, 10:52

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Danh sách top 10 lỗ hổng bảo mật theo OWASP năm 2021 - Bài tập lớn môn an toàn mạng (1)
Hình 1.1. Danh sách top 10 lỗ hổng bảo mật theo OWASP năm 2021 (Trang 10)
Hình 1.2. Phân loại các kiểu tấn công SQL Injection - Bài tập lớn môn an toàn mạng (1)
Hình 1.2. Phân loại các kiểu tấn công SQL Injection (Trang 12)
Hình 1.3. Thông tin tác giả và bên cấp giấy phép công cụ BBQSQL - Bài tập lớn môn an toàn mạng (1)
Hình 1.3. Thông tin tác giả và bên cấp giấy phép công cụ BBQSQL (Trang 16)
Hình 2. 1: Import thêm Sources.list - Bài tập lớn môn an toàn mạng (1)
Hình 2. 1: Import thêm Sources.list (Trang 19)
Hình 2. 3: Cài đặt Python3 trong Kali Linux - Bài tập lớn môn an toàn mạng (1)
Hình 2. 3: Cài đặt Python3 trong Kali Linux (Trang 20)
1. Cài đặt Python. - Bài tập lớn môn an toàn mạng (1)
1. Cài đặt Python (Trang 20)
Hình 2.8: Cài đặt BBQSQL - Bài tập lớn môn an toàn mạng (1)
Hình 2.8 Cài đặt BBQSQL (Trang 22)
Hình 2.10: Giới thiệu về công cụ BBQSQL - Bài tập lớn môn an toàn mạng (1)
Hình 2.10 Giới thiệu về công cụ BBQSQL (Trang 23)
Bảng 2: Danh sách các tùy chọn trong BBQSQL - Bài tập lớn môn an toàn mạng (1)
Bảng 2 Danh sách các tùy chọn trong BBQSQL (Trang 24)
2.3.2. HTTP Parameters - Bài tập lớn môn an toàn mạng (1)
2.3.2. HTTP Parameters (Trang 24)
Hình 2.1 2: Các options trong Menu của BBQSQL - Bài tập lớn môn an toàn mạng (1)
Hình 2.1 2: Các options trong Menu của BBQSQL (Trang 26)
Hình 3.2. Vào trang Help - Bài tập lớn môn an toàn mạng (1)
Hình 3.2. Vào trang Help (Trang 32)

TỪ KHÓA LIÊN QUAN

w