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

TRIỂN KHAI MÔ PHỎNG TẤN CÔNG SQL INJECTION VÀO WEB SERVER

37 153 3

Đ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

Định dạng
Số trang 37
Dung lượng 3,34 MB

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

Nội dung

MỤC LỤC3 MỞ ĐẦU4 CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ SQL INJECTION5 1.1 Khái niệm SQL Injection:5 1.2 Quy trình tấn cống6 1.3 Các dạng lỗi thường gặp:6 1.3.1 Không kiểm tra ký tự thoát truy vấn6 1.3.2 Xử lý không dúng kiểu7 1.3.3 Lỗi bảo mật bên trong máy chủ cơ sở dữ liệu8 1.3.4 Blind SQL Injection8 CHƯƠNG 2 : MỘT SỐ DẠNG TẤN CÔNG THƯỜNG GẶP VỚI CÁC ỨNG DỤNG WEB10 2.1 Dạng tấn công vượt qua kiểm tra lúc đăng nhập10 2.2 Dạng tấn công sử dụng câu lệnh SELECT12 2.3 Dạng tấn công sử dụng câu lệnh INSERT13 2.4 Dạng tấn công sử dụng Strored-Procedures14 CHƯƠNG 3 : MÔ PHỎNG TẤN CÔNG SQL INJECTION VÀO WEBSERVER14 3.1 Một số công cụ rò tìm, tấn công lỗ hổng SQL Injection14 CHƯƠNG 4 : HẬU QUẢ CỦA SQL INJECTION VÀ CÁCH PHÒNG CHỐNG SQL26 4.1 Hậu quả:26 4.2 Cách phòng chống:26 KẾT LUẬN29

Trang 1

MÔ PHỎNG TẤN CÔNG

SQL Injection VÀO Web server

MÔN HỌC: AN NINH MẠNG+BTL

GV: ĐỖ NHƯ HẢI Thực hiện: HOÀNG THỊ HỒNG GẤM - 1621050275

LÊ THẾ QUÝ - 1721050540

HOÀNG HẢI HÀ - 1721050311

Trang 2

Các kỹ thuật tấn công nguy hiểm nhằm vào web server

1.Tấn công DoS/DDoS

Trang 3

2.Tấn công Brute Force

Trang 4

3.Cross Site Scripting(Lỗ hổng XSS)

Trang 5

4.Tấn công Injection (Tấn công tiêm nhiễm SQL)

Trang 6

SQL INJECTION

Trang 7

1.khái niệm

Sql Injection là một kỹ thuật mà các hacker lợi

dụng lổ hỗng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web đến DBMS để khai thác các thông tin nhạy cảm.

Trang 8

Cho phép hacker thực hiện các thao tác như Insert,

delete, update… trên cơ sở dữ liệu của server

Các lỗi này chỉ xảy ra trên các ứng dụng web có liên

kết với các DBMS như: SQL Server, MySQL,

Oracle, DB2, Sysbase… và bất kì ngôn ngữ lập trình

web động nào như: php, asp, asp.net, jsp…

Trang 9

2.Mục đích

• Mục đích chính của SQL injection là truy cập vào cơ sở dữ liệu bất hợp pháp hoặc khai thác thông tin từ các cơ sở dữ liệu đó

• Một số kiểu tấn công SQL injection:

Trang 10

3.Cơ chế họat động

Cơ chế hoạt động của một website

Trang 11

4 TRIỂN KHAI TẤN CÔNG

• Để triển khai một cuộc tấn công SQL Injection, thông thường bạn sẽ thực hiện theo 3 bước cơ bản sau đây:

Bước 1: Xác định trang web có lỗi SQL injection không?

Bước 2: Từ lỗi tìm được, chọn loại tấn công phù hợp.

Bước 3: Triển khai tấn công.

Trang 12

* Tìm lỗi SQL injection

Bước 1: Kiểm tra xem ứng dụng web có kết nối đến server cơ sở dữ liệu để lấy thông tin không?

Bước 2: Liệt kê ra tất cả các input file, file ẩn và các post request có thể chứa giá trị dùng cho truy vấn

SQL.

Bước 3: Thử inject code vào các file trên để tạo ra lỗi.

vụ cho việc triển khai tấn công.

Trang 13

*Tìm lỗi SQL injection

Bước 4: Thử nhập vào một giá trị chuỗi vào các input file yêu cầu nhập số.

Bước 5: Sử dụng toán tử UNION trong các SQL injection để xuất một câu truy vấn vào câu truy vấn

có sẵn.

Bước 6: Sử dụng thông tin từ các báo lỗi ở trên để phục vụ cho việc triển khai tấn công.

Trang 14

Một số công cụ rò tìm, tấn công lỗ hổng SQL Injection

*Dùng Vega để rò tìm lỗ hổng SQL Injection

• Chọn mục tiêu

Trang 15

*Dùng Vega để rò tìm lỗ hổng SQL Injection

• Chọn modules cần thiết

Trang 16

*Dùng Vega để rò tìm lỗ hổng SQL Injection

• Hoàn tất cấu hình và bắt đầu quét

Trang 17

* Dùng Vega để rò tìm lỗ hổng SQL Injection

• Thu thập kết quả

Trang 18

*Dùng Vega để rò tìm lỗ hổng SQL Injection

• Ở đây có một số lỗi như XSS, SQL injection, RFI

Trang 19

Ta dùng SQLmap để khai thác lỗ hổng SQL Injection

Trang 20

*Dùng SQLmap để khai thác lỗ hổng SQL Injection

Trang 21

Kết quả

Trang 25

• -T: chọn bảng thực thi

• dump : lấy các dữ liệu

Trang 26

*Dò tìm lỗ hổng SQLInjection bằng website

Trang 27

• *Nhập URL Chọn Free Scan Sau đó chọn Light Scan hoặc Full Scan

Trang 28

Demo tấn công lỗ hổng SQL Injection

Trang 29

• Nhập email: user@email.com

• Password: password

• Log in

Trang 30

Demo tấn công lỗ hổng SQL Injection

• Server sẽ trả về kết quả “Unknow email or password” do không tìm thấy dữ liệu về user này

• Nhập lại password là “ password’ ”

Trang 31

Demo tấn công lỗ hổng SQL Injection

• Lần này server sẽ trả về kết quả “An unexpected error occurred”

• Do Hacker đã nhập thêm ký tự ‘ khiến SQL server trả về kết quả lỗi cú pháp :

Trang 32

Demo tấn công lỗ hổng SQL Injection

• Rendering login page: Server sẽ kết xuất trang đăng nhập

• Đây là các câu lệnh SQL trong server

Trang 33

Demo tấn công lỗ hổng SQL Injection

• “ password’ “ được chèn trực tiếp vào chuỗi SQL và kết thúc truy vấn

• Đây là nguyên nhân gây ra lỗi cú pháp mà chúng ta đã thấy khi server trả về

• Hành vi trên của hacker chỉ ra rằng website có thể bị tấn công SQL Injection

Trang 34

Demo tấn công lỗ hổng SQL Injection

• Tiếp tục nhập password “ ‘ or 1=1 “

Trang 35

Demo tấn công lỗ hổng SQL Injection

• Hacker đã đăng nhập vào được hệ thống mà không cần mật khẩu, nhờ khai thác lỗ hổng SQL Injection

Trang 36

Demo tấn công lỗ hổng SQL Injection

• Hệ thống đã bị đánh lừa do ký tự “ “ hacker nhập khiến cơ sở dữ liệu bỏ qua phần còn lại của câu lệnh SQL, cho phép xác thực mà không phải nhập đúng mật khẩu

Trang 37

Cách phòng chống SQL Injection

SQL Injection hoàn toàn có thể ngăn chặn được Và 1 trong những quy tắt không thể bỏ qua là

không nên tin tưởng tuyệt đối vào bất kỳ thông tin nào mà người sử dụng nhập vào

Và mô hình SQLI có thể dễ dàng bị ngăn chặn bởi 1 bước gọi là Sanitization – hiểu nôm na là việc

chắt lọc thông tin đầu vào – input từ phía người dùng

Ngày đăng: 05/11/2020, 21:28

TỪ KHÓA LIÊN QUAN

w