Tải bản đầy đủ (.pdf) (42 trang)

Tìm hiểu và triển khai giải pháp phát hiện và phòng chống lỗ hổng 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 (3.36 MB, 42 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM
KHOA CÔNG NGHỆ THƠNG TIN
Ngành An Tồn Thơng Tin


BẢN BÁO CÁO ĐỒ ÁN MƠN HỌC

Tìm hiểu và triển khai giải pháp phát hiện và phòng
chống lỗ hổng SQL Injection.
GVHD: Nguyễn Thị Hồng Thảo
SVTH:

Họ và Tên

MSSV

Đỗ Thị Như Ý

2033181084

Đặng Ngọc Gia Linh

2033183001

TP.Hồ Chí Minh, 8 tháng 6 năm 2021


NHẬN XÉT GIẢNG VIÊN HƯỚNG DẪN
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................


...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
TP.HCM, ngày tháng năm 2021
(kí và ghi gõ họ tên )


NHẬN XÉT GIẢNG VIÊN CHẤM PHẢN BIỆN
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................

...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
TP.HCM, ngày tháng năm 2021
(kí và ghi gõ họ tên )


Mục lục
Chương 1: Cơ sở lí thuyết ..........................................................................................8
1. Giới thiệu cơ sở dữ liệu ..................................................................................8
1.1. Cơ sở dữ liệu (Database): .......................................................................8
1.2. Hệ quản trị CSDL ...................................................................................8
1.3. Ngôn ngữ giao tiếp giữa người sử dụng và CSDL .................................8
1.4. Các loại mô hình dữ liệu.........................................................................8

2. Giới thiệu về an ninh cơ sở dữ liệu ................................................................9
2.1. An ninh cơ sở dữ liệu là gì?....................................................................9
2.2. Thành phần an ninh cơ sở dữ liệu ..........................................................9
2.3. Ưu điểm ..................................................................................................9
3. Tìm hiểu về SQL Injection ...........................................................................10
3.1. SQL là gì? .............................................................................................11
3.2. SQL Injection là gì? ..............................................................................11
Chương 2: Kỹ thuật tấn công ...................................................................................15
1. Lý thuyết.......................................................................................................15
2. Thực hành .....................................................................................................16
Chương 3: Phịng chống tấn cơng SQL Injection sử dụng Firewall Mod Security .29
1. Lý thuyết.......................................................................................................29
2. Thực hành .....................................................................................................30
Hướng phát triển: ..................................................................................................41
Kết luận:..................................................................................................................41
Tài liệu tham khảo .................................................................................................42


Danh mục hình ảnh
Hình 1.3. 1: Cơ chế tấn cơng SQL Injection............................................................10
Hình 1.3. 2: Các dạng SQL Injection.......................................................................12
Hình 2.2. 1: Câu lệnh tìm kiếm website bị lỗi .........................................................16
Hình 2.2. 2: Trang thinhnguyenplactic.com ............................................................17
Hình 2.2. 3: Sử dụng cơng cụ Vega .........................................................................17
Hình 2.2. 4: Các phần liên quan đến SQL ...............................................................18
Hình 2.2. 5: Các phần liên quan đến SQL ...............................................................18
Hình 2.2. 6: Kết quả khi dùng Vega ........................................................................19
Hình 2.2. 7: thinhnguyenplastic.com trước khi dùng SQL Injection ......................19
Hình 2.2. 8: Kết quả sau khi thêm ‘ .........................................................................20
Hình 2.2. 9: Hình ảnh khi chưa hết cột ....................................................................20

Hình 2.2. 10: Kết quả khi tìm hết các cột ................................................................21
Hình 2.2. 11: Thực hiện lệnh Union Select .............................................................21
Hình 2.2. 12: Kết quả sau khi thực hiện lệnh ..........................................................22
Hình 2.2. 13: Hình ảnh cột 37 làm trang bị lỗi ........................................................22
Hình 2.2. 14: Lưu ý ..................................................................................................23
Hình 2.2. 15: Thơng tin về version ..........................................................................23
Hình 2.2. 16: Thơng tin về database ........................................................................24
Hình 2.2. 17: Thơng tin về user ...............................................................................24
Hình 2.2. 18: Liệt kê các bảng 1 ..............................................................................25
Hình 2.2. 19: Liệt kê các bảng 2 ..............................................................................25
Hình 2.2. 20: Câu lệnh liệt kê các cột trong bảng....................................................26
Hình 2.2. 21: Câu lệnh liệt kê các cột trong bảng....................................................26
Hình 2.2. 22: Kết quả sau khi đổi tbl_member ........................................................27
Hình 2.2. 23: Thơng tin trong các cột ......................................................................27
Hình 2.2. 24: Hình ảnh đăng nhập ...........................................................................28
Hình 2.2. 25: Kết quả đăng nhập thành cơng...........................................................28
Hình 3.2. 1: Trang download Xampp 30
Hình 3.2. 2: Cài đặt Xampp .....................................................................................31


Hình 3.2. 3: Lựa chọn các thành phần càn cài đặt trên Xampp ...............................31
Hình 3.2. 4: Chọn nơi cài đặt Xampp ......................................................................32
Hình 3.2. 5: Chọn ngơn ngữ.....................................................................................32
Hình 3.2. 6: Bắt đầu cài đặt......................................................................................33
Hình 3.2. 7: Khởi động Apache và MySql ..............................................................33
Hình 3.2. 8: Trang sau khi cài Xampp .....................................................................34
Hình 3.2. 9: Nơi tải DVWA .....................................................................................34
Hình 3.2. 10: Hình ảnh truy cập localhost ...............................................................35
Hình 3.2. 11: Sau khi vào dvwa ...............................................................................35
Hình 3.2. 12: Chỉnh sửa trong file config.inc.php ...................................................36

Hình 3.2. 13: Đăng nhập vào DVWA ......................................................................36
Hình 3.2. 14: Gói tải Mod Security..........................................................................37
Hình 3.2. 15: Copy mod_security2.so vào ...\modules ............................................37
Hình 3.2. 16: Copy yajl.dll vào ...\bin .....................................................................37
Hình 3.2. 17: Chỉnh sửa trong file http.conf ............................................................38
Hình 3.2. 18: Rule trên github .................................................................................38
Hình 3.2. 19: Nội dung file sqlinjection.conf ..........................................................39
Hình 3.2. 20: Thực hiện tấn cơng SQL Injection.....................................................39
Hình 3.2. 21: Thơng báo chặn tấn cơng ...................................................................40
Hình 3.2. 22: Kết quả thơng báo trong error.log......................................................40


Danh mục từ viết tắt
SQL
SQLi
CSDL
WAF
DVWA

Structured Query Language
Structured Query Language Injection
Cơ sở dữ liệu
Web Application Firewall
Damn Vulnerable Web Application


Chương 1: Cơ sở lí thuyết
1. Giới thiệu cơ sở dữ liệu
1.1. Cơ sở dữ liệu (Database):
Là những thông tin về một tổ chức hay cá nhân (một trường học, cơng

ty, nhà máy...) chúng có mối quan hệ với nhau. Được lưu trữ trên máy
tính và các thiết bị ( như USB, thẻ nhớ, đĩa từ...) để phục vụ cho nhu cầu
khai thác thơng tin với nhiều mục đích khác nhau.
1.2. Hệ quản trị CSDL
Là một phần mềm hệ thống nhằm tương tác với người dùng cho phép
người dùng thực hiện những điều sau:
• Trình bày chi tiết về cấu trúc của dữ liệu.
• Lưu trữ dữ liệu trên các thiết bị.
• Tìm kiếm, lưu, xóa và chỉnh sửa thơng tin trên database.
1.3. Ngôn ngữ giao tiếp giữa người sử dụng và CSDL
- Ngôn ngữ truy vấn dữ liệu (Structured Query Language - SQL): dùng
để truy vấn các thông tin cần thiết trong CSDL.
• Ngơn ngữ mơ tả dữ liệu (Data Definition Language - DDL): cho phép
tạo cấu trúc các bảng của CSDL, các mối liên hệ của dữ liệu (như các
ràng buộc tồn vẹn hay khóa).
• Ngơn ngữ thao tác dữ liệu (Data Manipulation Language - DML):
cho phép người dùng chọn, thêm, xóa và sửa dữ liệu trong CSDL.
- Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL): cho phép
những người quản trị thay đổi cấu trúc các bảng, kiểm sốt bảo mật
thơng tin,cấp quyền truy cập và khai thác vào CSDL cho người dùng.
1.4. Các loại mơ hình dữ liệu
• Mơ hình dữ liệu phân cấp (Hierarchical Model): Dữ liệu ở mơ hình này
được chia thành các nút nhỏ và được dùng để thể hiện cho một thực thể
nhất định để tạo nên một cấu trúc dạng cây cây. Giữa nút con và nút
cha được liên hệ với nhau theo một mối quan hệ xác định. Nó phù hợp
trong việc phân cấp nhân viên trong một cơng ty, cơ quan hay tổ chức
nào đó.


• Mơ hình mạng (Network Model): Mơ hình được biểu diễn bởi một đồ

thị có hướng. Các thức thực nằm trên các đỉnh còn đường đi từ đỉnh này
sang đỉnh khác còn được gọi là mỗi quan hệ giữa hai đỉnh đó.
• Mơ hình dữ liệu quan hệ (Relation Data Model): Trong mơ hình quan
hệ, dữ liệu được tổ chức thành từng bảng, mỗi bảng tương ứng với một
thực thể trong hệ thống. Những khái niệm sử dụng trong mô hình bao
gồm: thuộc tính, quan hệ, lược đồ quan hệ, bộ, khóa.
• Mơ hình dữ liệu hướng đối tượng (Object Oriented Model): Dựa trên
tiếp cận hướng đối tượng bao gồm các khái niệm: lớp, kế thừa. Đặc
trưng cơ bản về tính chất của mơ hình này là tính đóng gói, đa hình,
tính tái sử dụng và kế thừa. Đây là loại mơ hình tiên tiến nhất hiện nay.
• Mơ hình dữ liệu thực thể kết hợp (Entity – Relationship Model): Các
khái niệm được sử dụng trong mơ hình này là: các thực thể, thuộc tính
của các loại thực thể, khóa của loại thực thể, các mối kết hợp.
2. Giới thiệu về an ninh cơ sở dữ liệu
2.1. An ninh cơ sở dữ liệu là gì?
Là việc sử dụng các thủ thuật cho việc kiểm sốt bảo mật thơng tin nhằm
bảo vệ cơ sở dữ liệu, chống lại sự xâm phạm để đảm bảo tính bảo mật,
tồn vẹn và khả dụng của dữ liệu.
2.2. Thành phần an ninh cơ sở dữ liệu
• Database Activity Monitoring: Giám sát các máy chủ cơ sở dữ liệu,
cảnh báo, ngăn chặn các hành vi xấu đến cơ sở dữ liệu trong thời gian
thực, kể cả khi chạy trên nền tảng ảo hố hoặc trên mơi trường đám
mây.
• Virtual Patching: Khơng cần làm gián đoạn hoạt động của hệ thống
virtual patching phát hiện những bản vá cịn thiếu và nhờ việc qt lỗ
hổng ta có thể sửa các lỗ hổng bảo mật nhằm nâng cao khả năng khả
năng bảo mật cơ sở dữ liệu của hệ thống
• Vulnerability Manager for Database: Tự động quét cơ sở dữ liệu có
trong hệ thống mạng, quyết định việc thực thi các bản vá cuối cùng
chưa được áp dụng, kiểm tra các lỗ hổng như mật khẩu yếu hay kiểm

ta xem các lỗ hổng thơng thường có gây hại gì cho hệ thống hay không.
2.3. Ưu điểm


- Vulnerablility Manager:
• Hầu hết các lỗ hổng mới được cập nhật trong vịng 72 giờ.
• Tự động ngăn chặn các cuộc tấn công dựa vào các hành vi của
người dùng thực thi trên cơ sở dữ liệu đồng thời tự động cập nhật
lại các chính sách.
- Database Activity Monitor:
• Theo dõi các mối đe doạ bên trong cơ sở dữ liệu.
• Ngăn chặn trước các cuộc tấn cơng.
• Tiết kiệm thời gian và tiền bạc.
• Xây dựng đơn giản, nhanh chóng.
• Khơng cần ngắt hoạt động hệ thống trong khi cài đặt hay cập nhật.
- Virtual Patching
• Tích hợp với giám sát hành vi người dùng trên cơ sở dữ liệu. Để
phát hiện và ngăn chặn kịp thời các hành vi gây hại đến cơ sở dữ
liệu.
• Khơng cần thay đổi cấu hình cũng thể thể bảo về được cơ sở dữ
liệu khỏi những lỗ hổng và những điểm yếu về bảo mật.
• Việc bảo vệ lỗ hổng được thực thi với 48-72 giờ sau khi lỗ hổng
hoặc bản vá được cơng bố bởi nhà cung cấp.
3. Tìm hiểu về SQL Injection

Hình 1.3. 1: Cơ chế tấn cơng SQL Injection


3.1. SQL là gì?
- SQL (Structured Query Language) là ngơn ngữ truy vấn có cấu trúc cho

phép người sử dụng có thể khai thác cơ sở dữ liệu, truy vấn các thông
tin cần thiết trong cơ sở dữ liệu.
- Ưu điểm của SQL:
• Dùng SQL có thể truy cập dữ liệu trong hệ thống cơ sở dữ liệu.
• Cho phép mơ tả dữ liệu.
• Thao tác với dữ liệu trong cơ sở dữ liệu và xác định dữ liệu đó.
• Cho phép nhúng trong các ngôn ngữ khác sử dụng mơ-đun SQL,
thư viện và trình biên dịch trước.
• Cho phép tạo các cơ sở dữ liệu và các bảng.
• Cho phép tạo chế độ view, thủ tục lưu trữ, chức năng trong cở dữ
liệu.
• Cho phép thiết lập quyền trên các bảng thủ tục và view.
- Hạn chế của SQL:
• Giao diện của SQL tương đối phức tạp khiến một số người dùng
khó truy cập.
• Khơng được tồn quyền kiểm sốt.
• Phần mở rộng của các chương trình cơ sở dữa liệu SQL đều là độc
quyền của các nhà cung cấp.
• Khó tiếp cận đến SQL đối với những người lập trình vì chi phí vận
hành cho các phiên bản của SQL tương đối cao.
3.2. SQL Injection là gì?
- Là kỹ thuật dùng những đoạn SQL làm sai đi câu truy vấn ban đầu của
cơ sở dữ liệu, từ đó kẻ tấn cơng có thể khai thác dữ liệu và có thể thao
tác như một người quản trị. Nhờ vào những lỗ hổng câu truy vấn của
ứng dụng.
- Các thành phần dễ bị tấn cơng







Form đăng nhập.
Form tìm kiếm.
Form nhận xét.
Liên kết của website.


Một số thao tác phổ biến để tấn cơng:
• Kiểm tra đăng nhập ứng dụng.
• Thao tác lưu comment của user xuống database.
• Tìm kiếm thơng tin như user, sản phẩm cũng có thể tìm được
mật khẩu của user.
- Phân loại các kiểu tấn cơng SQL Injection

-

Hình 1.3. 2: Các dạng SQL Injection
SQL Injection có thể chia thanh các kiểu sau:
❖ In-band SQLi:
• Đây là dạng tấn cơng phổ biến nhất và cũng dễ để khai thác lỗ
hổng SQL Injection nhất
• Xảy ra khi hacker có thể tấn cơng và thu thập kết quả trực tiếp
trên cùng một kênh liên lạc
• In-Band SQLi chia làm 2 loại chính:
o Error-based SQLi
Là một kỹ thuật tấn công SQL Injection dựa vào thông báo
lỗi được trả về từ Database Server có chứa thơng tin về cấu
trúc của cơ sở dữ liệu.
o Union-based SQLi

Là một kỹ thuật tấn công SQL Injection dựa vào của tốn tử
UNION trong ngơn ngữ SQL cho phép tổng hợp kết quả của


2 hay nhiều câu truy vấn SELECTION trong cùng 1 kết quả
và được trả về như một phần của HTTP response.
❖ Inferential SQLi (Blind SQLi)
• Khơng giống như In-band SQLi, Inferential SQL Injection tốn
nhiều thời gian hơn cho việc tấn cơng do khơng có bất kì dữ liệu
nào được thực sự trả về thơng qua web application và hacker thì
khơng thể theo dõi kết quả trực tiếp như kiểu tấn cơng In-band
• Thay vào đó, kẻ tấn cơng sẽ cố gắng xây dựng lại cấu trúc cơ sở
dữ liệu bằng việc gửi đi các payloads, dựa vào kết quả phản hồi
của web application và kết quả hành vi của database server.
• Inferential SQLi chia làm 2 loại
o Blind-boolean-based SQLi
 Là kĩ thuật tấn công SQL Injection dựa vào việc gửi các
truy vấn tới cơ sở dữ liệu. Thông qua việc xem xét các phản
hồi kẻ tấn có thể suy ra việc tiêm có thành cơng hay khơng.
Vì phản hồi trả về True hoặc False và nó sẽ khơng chứa bất
kì dữ liệu nào từ cơ sở dữ liệu.
 Kiểu tấn công này thường chậm (đặc biệt với cơ sở dữ liệu
có kích thước lớn) do người tấn cơng cần phải liệt kê từng
dữ liệu, hoặc mị từng kí tự
o Time-based-blind SQLi
 Time-base Blind SQLi là kĩ thuật tấn công dựa vào việc gửi
những câu truy vấn tới cơ sở dữ liệu và buộc cơ sở dữ liệu
phải chờ một khoảng thời gian (thường tính bằng giây)
trước khi phản hồi.
 Thời gian phản hồi (ngay lập tức hay trễ theo khoảng thời

gian được set) cho phép kẻ tấn cơng suy đốn kết quả truy
vấn là TRUE hay FALSE
 Kiểu tấn công này cũng tốn nhiều thời gian tương tự như
Boolean-based SQLi
❖ Out-of-band SQLi


-

• Out-of-band SQLi khơng phải dạng tấn cơng phổ biến, chủ yếu
bởi vì nó phụ thuộc vào các tính năng được bật trên Database
Server được sử dụng bởi Web Application.
• Kiểu tấn công này xảy ra khi hacker không thể trực tiếp tấn công
và thu thập kết quả trực tiếp trên cùng một kênh (In-band SQLi),
và đặc biệt là việc phản hồi từ server là khơng ổn định
• Kiểu tấn công này phụ thuộc vào khả năng server thực hiện các
request DNS hoặc HTTP để chuyển dữ liệu cho kẻ tấn cơng.
Hậu quả khi bị tấn cơng:
• Dữ liệu trong cơ sở dữ liệu bị lộ. Hậu quả để lại nhiều hay ít phụ
thuộc vào tầm quan trọng của dữ liệu bị lấy đi. Ví dụ như việc khi
một cơng ty bị lộ thơng tin khách hàng, làm mất lịng tin của họ việc
họ chuyển sang dùng dịch vụ khác công ty khác là việc hiển nhiên
làm cho công ty mình gặp khó khăn hoặc có thể nặng hơn dẫn đến
phá sản.
• Lỗ hổng cũng có thể xuất phát từ những khách hàng. Họ thường hay
dùng một mật khẩu cho nhiều tài khoản hoặc mật khẩu dể doán. Khi
kẻ tấn cơng phát hiện được một tài khoản thì những tài khoản cịn
lại cũng bị lộ theo.
• Có những trường hợp kẻ tấn cơng có thể có thể chiếm tài khoản của
người quản trị cơ sở dữ liệu, hắn không chỉ đọc mà có thể xóa tồn

bộ dữ liệu của hệ thống làm hệ thống bị ngưng hoạt động.


Chương 2: Kỹ thuật tấn công
1. Lý thuyết
Các cuộc tấn công SQL Injection được thực hiện bằng cách gửi lệnh SQL
độc hại đến các máy chủ cơ sở dữ liệu thông qua các yêu cầu của người
dùng mà website cho phép. Bất kỳ kênh input nào cũng có thể được sử
dụng để gửi các lệnh độc hại như chuỗi truy vấn (query strings) và tệp
tin.
- Các dạng tấn công SQL Injection:
• Dạng tấn cơng vượt qua kiểm tra đăng nhập: Với dạng tấn cơng
này, kẻ tấn cơng 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. Thông thường để cho phép người dùng truy cập vào
các trang web được bảo mật, hệ thống thường xây dựng trang đăng
nhập để yêu cầu người dùng nhập thông tin về tên đăng nhập và
mật khẩu. Sau khi người dùng nhập thông tin vào, hệ thống sẽ kiểm
tra tên đăng nhập và mật khẩu có hợp lệ hay không để quyết định
cho phép hay từ chối thực hiện tiếp.
• Dạng tấn cơng sử dụng câu lệnh SELECT: Để 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. Chúng ta có tể gặp các website tin tức có
các tham số được truyền vào như: index.php?id=21,
index.asp?id=6,.. thì chúng ta chỉ cần thêm các kí tự dấu nháy đơn
('), dấu nháy kép ("), phần trăm 27 (%27), 00 phần trăm (00%) vào
sau id để kiểm tra nếu nó hiện ra lỗi hoặc khơng hiện ra 1 cái gì
(khác hồn tồn với lúc ban đầu thì 90% có khả năng khai thác
được lỗi này).

• Dạng 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.


• Dạng tấn công sử dụng stored-procedures: Stored Procedure được
sử dụng trong lập trình web với mục đích nhằm giảm sự phức tạp
trong ứng dụng và tránh sự tấn công trong kỹ thuật SQL Injection.
Tuy nhiên những kẻ tấn công vẫn có thể lợi dụng những stored
procedure để tấn cơng vào hệ thống.
2. Thực hành
Dạng tấn công sử dụng câu lệnh SELECT kết hợp UNION
❖ Cơng cụ được sử dụng
• Cơng cụ tìm kiếm lỗi Vega
• Về trình duyệt: Firefox
• Add-on cho firefox: HackBar Quantum
❖ Các bước tiến hành
• Bước 1: Tìm website bị lỗi bằng cách nhập câu lệnh inurl
product_detail id=site vn trên URL.

Hình 2.2. 1: Câu lệnh tìm kiếm website bị lỗi
• Bước 2: Sau khi thực hiện câu lệnh ở bước 1 ta sẽ có danh sách những
trang web bị lỗi nhóm chúng em chọn trang wed
thinhnguyenplastic.com để demo SQL Injection.


Hình 2.2. 2: Trang thinhnguyenplactic.com

• Bước 3: Kiểm tra lỗi
- Bằng cơng cụ Vega trên website thinhnguyenplatic.com

Hình 2.2. 3: Sử dụng công cụ Vega
+ Chọn Injections Modules và chọn phần liên quan đến SQL Injection để
quét


Hình 2.2. 4: Các phần liên quan đến SQL

Hình 2.2. 5: Các phần liên quan đến SQL


+ Kết quả đã quét ra được 3 cảnh báo liên quan đến SQL Injection.

Hình 2.2. 6: Kết quả khi dùng Vega
- Ngồi cơng cụ Vega ta có thể kiểm tra trên HackBar Quantum bằng
cách thêm dấu ‘ vào sau đường link
+ Kết quả trước khi chạy

Hình 2.2. 7: thinhnguyenplastic.com trước khi dùng SQL Injection


+ Kết quả sau khi chạy

Hình 2.2. 8: Kết quả sau khi thêm ‘
• Bước 4: Tìm số cột của table mà câu lệnh SQL truy vấn dùng câu lệnh
order by

Hình 2.2. 9: Hình ảnh khi chưa hết cột



Ta sẽ tiếp tục tăng con số của order by cho đến khi thấy website bị lỗi
như hình dưới đây

Hình 2.2. 10: Kết quả khi tìm hết các cột
Khi đến số 63 thì website bị lỗi nên ta nhận ra được trong database sẽ có
các dịng từ 0 đến 62 để hiện các cột này ta chọn SQL -> Union Select
Statement -> điền vào ơ số 62 -> ok

Hình 2.2. 11: Thực hiện lệnh Union Select
- Kết quả khi thực hiện


Hình 2.2. 12: Kết quả sau khi thực hiện lệnh
• Bước 5: Hiện số cột bị lỗi bằng cách dùng union select
- Kết quả cho ta thấy số cột 37 bị lỗi

Hình 2.2. 13: Hình ảnh cột 37 làm trang bị lỗi


Lưu ý: Khi dùng câu lệnh union seclect để tim cột bị lỗi chúng ta phải
thêm dấu - trước 635. Nếu khơng ghi thì nó sẽ khơng hiện lỗi như hình
dưới đây.

Hình 2.2. 14: Lưu ý
• Bước 6: Kiểm tra một vài thơng tin database tại vị trí cột bị lỗi
- version:

Hình 2.2. 15: Thơng tin về version



- database:

Hình 2.2. 16: Thơng tin về database
- user:

Hình 2.2. 17: Thông tin về user


• Bước 7: Liệt kê các bảng trong database bằng câu lệnh unhex (hex
(group-concat (table_name))) tại cột bị lỗi và FROM
information_schema.tables WHERE table_schema=database () sau số
cột 62

Hình 2.2. 18: Liệt kê các bảng 1

Hình 2.2. 19: Liệt kê các bảng 2


×