1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

9 269 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 322,67 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Trang 2

NỘI DUNG

I.Lý thuyết:

Trang 3

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

Trang 4

Marware(Shell) Victim'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

Trang 5

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:

Trang 6

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

Trang 7

Đâ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.

Trang 8

Ở đâ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

Trang 9

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.iniOFF

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.

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w