Tải bản đầy đủ (.pptx) (27 trang)

An Toàn Thông Tin.pptx

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 (387.94 KB, 27 trang )

SQL INJECTION
TẤN CƠNG VÀ
PHỊNG THỦ
Sinh viên thực hiện:
Nguyễn Thanh Cường
Nhóm 9


Nội dung chính:

01
SQL
Injectio
n là gì?

0
2

Mục
đích
tấn
cơng

0
3

Cách
thức
hoạt
động


0
Cách
4
phịng
chống


SQL
INJECTION là
gì?

0
1


SQL INJECTION
là gì ?
SQL Injection là một hình
thức tấn cơng bằng cách
chèn thêm các đoạn mã truy
vấn "độc hại" trong chuỗi dữ
liện được nhập vào từ người
dùng, sau đó nó được gửi tới
SQL Server để phân tích và
thực thi.


SQL INJECTION là
gì ?
Điều này gây ra tác hại

rất lớn, do tin tặc có thể
tồn quyền sử dụng và
thay đổi tồn bộ hệ cơ sở
dữ liệu

=>Cách thức tấn cơng
vào các kho lưu trữ dữ
liệu vừa đơn giản vừa
hiệu quả


SQL INJECTION là
gì ?
Ví dụ :

SELECT*FROM user WHERE
username=’$username’ AND
password’$ password’

SELECT*FROM user WHERE username=‘’
or 1=1;/*AND password'*/--'


MỤC ĐÍCH
TẤN CƠNG

0
2



MỤC ĐÍCH TẤN CƠNG
Xác định lược đồ cơ sở
dữ liệu
Trích xuất dữ
liệu
Thêm sửa xóa dữ
liệu
Thực thi các lệnh từ
xa


Cách thức
hoạt động

0
3


CÁCH THỨC HOẠT
ĐỘNG ?
1. Web gửi form điền thông tin cho người
dùng.
2. Tin tặc điền vào form các đoạn mã
SQL
có thu
thể nhận
khai thác
thơng
tin.
3.

Web
thơng
tin từ
form và
tổng hợp nó thành dạnh string, sau đó
gửi các lệnh truy vấn thơng tin cần thiết
đến database.
4. Database thực hiện truy vấn, bao gồm
cả các lệnh bên trên, sau đó gửi về web.
5. Web trả về thông tin cho người dùng.


CÁCH THỨC HOẠT
ĐỘNG ?


CÁCH THỨC HOẠT
ĐỘNG ?

SELECT*FROM user WHERE username=‘’ or
1=1;/*AND password='*/--'

SELECT*FROM user WHERE username=’$username’
AND password=’$ password’


CÁCH THỨC HOẠT
ĐỘNG ?



Các kiểu SQLI?
IN-BAND:
Kiểu thường thấy nhất và đơn giản nhất để khai thác thông tin.
In-band SQLI là khi kẻ tấn công thực hiện việc chèn mã độc hại và
trực tiếp nhận về kết quả trên cùng một kênh.
2 dạng thường thấy của In-band SQLI là Error-base SQLI và UNIONbase.


Các kiểu SQLI?
INFERENTIAL (BLIND) SQLI:
Kiểu tấn công này phát sinh khi một ứng dụng dễ bị tấn công bằng
SQLI, nhưng lại có bảo mật cao hơn một chút khi khơng trả về các kết
quả truy vấn SQL mà được nhập vào onput như kiểu InBand.
Inferential SQLI diễn ra chậm do cịn phải quan sát và phân tích dựa
vào cách phản hồi của máy chủ, nhưng độ thiệt hại thì khơng khác gì
InBand.


Các kiểu SQLI?
INFERENTIAL (BLIND) SQLI:
Có 2 dạng chính:
Boolean-base: Tấn cơng dựa vào việc đánh giá phản hồi dạng true
hoặc false từ web.
Time-base: Tấn công dựa vào thời gia phản hồi từ web.


Các kiểu SQLI?
BOOLEAN-BASE:
Giả sử trong một web, mỗi khi đăng nhập vào nó sẽ hiện thơng
báo"Welcome back".

URL có dạng như sau:
Hacker nhập vào ổ
Username:

=>Không hiện popup “Welcome
back” (false)


Các kiểu SQLI?
BOOLEAN-BASE:
Giả sử trong một web, mỗi khi đăng nhập vào nó sẽ hiện thơng
báo"Welcome back".
URL có dạng như sau:
Hacker nhập vào ổ
Username:

=>Hiện popup “Welcome back”
(True)


Các kiểu SQLI?
Phát triển:
Username

Nếu web không hiện pop up"Welcome back" thì chữ cái đầu tiên trong
khẩu của administrator là chứ cái không nằm sau "c" => false.

Nếu web hiện pop up"Welcome back" thì chữ cái đầu tiên là nằm sau
chữ"a" => true.



Các kiểu SQLI?
Phát triển:
Username
Nếu web hiện pop up"Welcome back" thì chữ cái đầu tiên là chữ"b"
=>true.
=>Cứ như thế từng kí tự, dần dần sẽ biết được mật khẩu củ người
dùng Administrator.



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

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