Tiểu luận môn học an toàn thông tin Hacking Database mySQL

9 268 0
Tiểu luận môn học an toàn thông tin Hacking Database mySQL

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

Thông tin tài liệu

Hacking Database: mySQL 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 NỘI DUNG I.Lý thuyết: 1. MYSQL DATABASE: MYSQL database là một phần mềm cơ sở dữ liệu mã nguồn mở, nhớ vào tính linh hoạt, hiệu xuất cao, đáng tin cậy, dễ dàng cho người sử dụng và hoàn toàn miễn phí, MYSQL đã trở thành hệ cơ sở dữ liệu phổ biến nhất trên thế giới. 2 MYSQL hoạt động bằng cách sử dụng ngôn ngữ truy vấn có cấu trúc SQL để lắng nghe và xử lý những query và trả về giá trị tương ứng. 2. Điểm yếu: Hệ cơ sở dữ liệu mySQL hiện nay khá hoàn thiện, chỉ có thể tấn công do việc viết code web application chưa tốt hoặc do host không bảo mật, dẫn đến người khác tiếp cận được. 3. Ngữ cảnh và mục đích đạt được: MYSQL cho phép người dùng có thể đăng nhập từ xa trên các máy trạm, vì vậy có thể lợi dụng điều này để đăng nhập vào server với những quyền user tương ứng Sau khi đã đăng nhập vào MYSQL ta có thể làm được những việc sau: • Thêm vào các tài khoản có quyền root để tiện cho những lần đăng nhập sau nếu tài khoản bị chiếm là tài khoản root. • Đọc được các thông tin nhay cảm của người dùng. • Upload backdoor để thuận tiện cho các lần tấn công sau • Chỉnh sửa hoặc xóa những sữ liệu của người dùng. II. Mô hình triển khai: - Có nhiều cách tấn công vào MYSQL phổ biến như SQL Injection, Local Attack, XSS,…. Bằng cách kiểm tra lỗi bảo mật của website ta sẽ lựa chọn 1 cách tấn công phù hợp và hiểu quả nhất. Phương thức tấn công RFI(Remote file inclution): đây là phương pháp cho phép người tấn công include 1 file điều khiển từ nơi khác về để thực thi những mã khai thác trên site nạn nhân. 3 Hacker Marware(Shell)Vicm's site Ở đây ta xây dựng mô phỏng trên local. Công cụ để tấn công: • Trình duyệt web • Đường dẫn đến 1 file marware từ 1 nơi khác Các bước triển khai tấn công: • Đầu tiên hacker sẽ truy cập vào site nạn nhân, kiểm tra lỗi • Truyền giá trị vào site nạn nhân là 1 đường dẫn đến nơi chứa marware • Marware sẽ được gọi về và thực thi trên site nạn nhân • Hacker sử dụng marware được thực thi kiểm soát cấu cấu trúc mã nguồn của site nạn nhân trên server • Hacker tìm kiếm username và password trong mã nguồn đó để đăng nhập vào MYSQL và thực thi những câu truy vấn. 4 III. Triển khai tấn công: 1.Kiểm tra lỗi bảo mật của website: Xét đường dẫn http://nhakhoa.local/GUI/webroot/index.php?page=about Ta thấy biến page được truyền vào giá trị là about thong qua phương thức GET Đây là đoạn mã sử lý: <?php … $page= isset($_GET['page']) ? $_GET['page'] : "default"; Include_once($page.".php"); ……… Ta thấy biến $page có 2 trường hợp : 1 là giá trị truyền vào qua phương thức GET, 2 là giá trị mặc định default. Sau đó biến $pagesẽ được nối vào 1 chuỗi “.php”vào cuối và cho vào lệnh include_once để thực thi. Ở đây để cho tiện lợi thì người lập trình đã đặt tên những file php cần include trùng tên với các giá trị quy định được truyền vào biến $page. Điều này vô cùng nguy hiểm vì nếu người dùng cố ý thay đổi giá trị truyền vào bằng 1 đường dẫn đến nơi chứa những đoạn mã độc hại thì vô tình lệnh include_oncesẽ include những đoạn mã này vào nội dung website. Cách kiểm tra đơn giản nhất là ta thêm 1 dấu nháy vào cuối giá trị truyền vào Và thông báo lỗi sẽ có dạng như sau: 5 Hoặc ta có thể kiểm tra bằng cách thêm vào những ký tự sau “././” Ký tự này là ký tự dùng để chuyển đường dẫn dến file hiện tại chưa thư mục đó. Nếu nội dung vẫn không thay đổi nghĩa là người lập trình đã không kiểm tra biến truyền vào. 2. Tấn công RFI: Ta truyền vào biến page 1 đường dẫn đến nơi chứa mã độc, virus, marware,…. Ở đây ta truyền vào đường dẫn đến nơi chưa Shell C99đây là 1 virus cho phép xem cũng như chỉnh xửa cấu trúc mã nguồn của website. Do đây là đinh dạng file là text nên phía có đuôi .txt, sau khi truyền vào thì biến này sẽ được nối thêm chuỗi “.php” trở thành “.txt.php” và sẽ có thông báo lỗi Do đó ta phải thêm dấu “?” vào cuối giá trị truyền vào để php hiểu rằng những thành phần phía sau nó đều là biến và chuỗi “.php” ở đây sẽ được tách ra thành 1 biến khác nên hàm include_oncesẽ chỉ include file txt thôi. Sau khi thành công, nội dung site sẽ có dạng như sau: 6 Đây là giao diện điều khiển của chương trình shell c99. Nó hiện tất cả các cấu trúc mã nguồn của site nạn nhân, các cấu hình của php, các thư mục và quyền hạn của user hiện hành đối với thư mục đó. Ta có thể dễ dàng thêm, xóa hoặc sửa đổi các thư mục này. Ngoài ra nếu người quản trị server cấu hình không kỹ, ta có thể truy cập vào các thư mục bên ngoài và thực hiện tấn công sang các site trên cùng server đó. Để tấn công vào MYSQL ở đây ta sẽ tìm file cấu hình kết nối cơ sở dữ liệu của website. 7 Ở đây, cấu hình kết nối cơ sở dữ liệu nằm trong file connect.inc.php Sau khi có được username và password ta tiến hành đăng nhập vào cơ sở dữ liệu. Ở đây do làm trên local nên ta không phải tìm đường dẫn đến trang đăng nhập MYSQL. Nếu làm trên website thật, thường đường dẫn đăng nhập vào cpanel cũng như mysql thường là http://www.sitevictim.com/cpanel Sau khi đăng nhập vào cơ sở dữ liệu, bạn có thể hoàn toàn thực hiện các thao tác thêm, xóa, sửa trên cơ sở dữ liệu của nạn nhân. 8 III. Nhận xét: Ưu điểm: không phải sử dụng nhiều công cụ, ta chỉ cần 1 trình duyệt web và 1 file malware từ 1 host khác. Khuyết điểm: • Sẽ không thể thực hiện tấn công nếu người lập trình lọc giá trị truyền vào hoặc cấu hình allow_url_fopenhay allow_url_includetrên server là OFF. • Lâu vì phải tìm file cấu hình kết nối MYSQL Cách phòng chống: • Sử dụng câu lệnh điều kiện Switch-caseđể lọc giá trị truyề vào • Cấu hình allow_url_fopen hay allow_url_includetrong php.inilà OFF • Sử dụng htaccess để rewrite đường dẫn. • Đặt tên file cầu hình kết nối MYSQL khó đoán và đặt trong các thư mục mà hacker không ngờ tới. 9 . thuyết: 1. MYSQL DATABASE: MYSQL database là một phần mềm cơ sở dữ liệu mã nguồn mở, nhớ vào tính linh hoạt, hiệu xuất cao, đáng tin cậy, dễ dàng cho người sử dụng và hoàn toàn miễn phí, MYSQL đã. phải tìm đường dẫn đến trang đăng nhập MYSQL. Nếu làm trên website thật, thường đường dẫn đăng nhập vào cpanel cũng như mysql thường là http://www.sitevictim.com/cpanel Sau khi đăng nhập vào. Hacking Database: mySQL 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

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

Từ khóa liên quan

Mục lục

  • I.Lý thuyết:

    • 1. MYSQL DATABASE:

    • 3. Ngữ cảnh và mục đích đạt được:

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

    • III. Triển khai tấn công:

      • 1.Kiểm tra lỗi bảo mật của website:

      • 2. Tấn công RFI:

      • III. Nhận xét:

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

Tài liệu liên quan