Tài liệu hướng dẫn về các phương
pháp tấn công của hacker vào các ứng
dụng Web bị lỗi SQL
1
LỜI NÓI ĐẦU
Tài liệu này dành cho bất cứ những ai quan tâm tới bảo mật thông tin cho ứng
dụng Web có sử dụng cơ sở dữ liệu, đặc biệt dành cho các quản trị Website, quản trị
máy chủ Web Server có chạy các ứng dụng Web có nguy cơ tiềm ẩn và cũng là tài
liệu tham khảo rất tốt cho các bạn đang theo học về quản trị mạng .Tài liệu này sẽ
hướng các bạn làm thế nào để có được một hệ thống giả lập về các lỗi SQL Injection
của ứng dụng Web, cách sử dụng các công cụ hỗ trợ trong việc tấn công vào các ứng
dụng Web bị lỗi SQL Injection .
Vì đây là tài liệu hướng dẫn về các phương pháp tấn công của hacker vào các
ứng dụng Web bị lỗi SQL Injection, phương châm của chúng tôi là “Hack không
phải là phá hoại – Hack để bảo mật hơn !” .Nên chúng tôi xin nhắc nhở các bạn
đây chỉ là tài liệu có tính chất tham khảo thực hành LAB, chúng tôi không chịu
trách nhiệm việc các bạn dùng kiến thức này vào việc vi phạm pháp luật nhà nước
Công Hòa Xã Hội Chủ Nghĩa Việt Nam .
Cuối cùng thì chân thành cám ơn tài liệu của các tác giả O’Reilly, Kevin Spett,
AirScanner và các diễn đàn về bảo mật đã cung cấp tài liệu để chúng tôi hoàn thành
cuốn tài liệu hướng dẫn thực hành LAB này .
2
Mọi thắc mắc xin gửi về :
Giới thiệu chung :
Nội dung của phần LAB của module 14 – SQL Injection thể hiện rất rõ phương
châm “Hack để bảo mật hơn !”, module này bao gồm chuyên về những phương thức
và kỹ năng thực hành thâm nhập hệ thống như : quét lỗi bảo mật, truyền các lệnh
thực thi trái phép, xâm nhập hệ thống máy chủ Web …của hacker để người quản trị
có cái nhìn tổng quan từ phía những hacker để thực hiện chế độ bảo mật cho Web
site của mình một cách tốt hơn .
Vì lý do các lỗi bảo mật về SQL Injection thì rất nhiều các ứng dụng Web bị mắc
phải .Do đó trong giới hạn của tài liệu này tôi lấy một ví dụ điển hình về lỗi SQL
Injection đó là lỗi ứng dụng Web ASP (Active Server Pages) làm ví dụ để hướng dẫn
trong phần LAB của module này .
Mục tiêu :
Tham gia quản trị bảo mật hệ thống máy chủ chạy các ứng dụng Web có sử
dụng cơ sở dữ liệu ở các tổ chức, công ty, xí nghiệp, cơ quan .
- Nắm vững các phương pháp khảo sát, đánh giá mức độ an ninh mạng .
- Nắm vững các kỹ năng về kiến thức, thực hành và kinh nghiệm Ethical
Hacking .
- Xác định được nguyên nhân, nhận diện chính xác đối tượng, động cơ, cách
thức của kẻ tấn công xâm nhập dữ liệu hệ thống .Xác định mục tiêu, mối
nguy hiểm thường trực về an ninh ứng dụng Web của tổ chức .
- Phương thức thiết kế hệ thống và ứng dụng Web theo hướng bảo mật
.Phương thức đối phó với sự cố khi xảy ra .
- Hiểu rõ khái niệm, phương thức hoạt động của các hacker .
- Biết sử dụng phương pháp và các công cụ cơ bản để kiểm tra an ninh bảo
mật trên ứng dụng Web của tổ chức .
Điều kiện :
- Có kiến thức về Hệ điều hành mạng Windows (tương đương MCSA) .
- Có kiến thức về Hệ quản trị cớ sở dữ liệu Microsoft SQL Server (tương
đương MCDBA) .
3
- Có kiến thức về lập trình Web : HTML, ASP, PHP .
- Có kiến thức về Anh ngữ .
- Quan tâm đến bảo mật thông tin trên ứng dụng Web .
Nội dung :
• Phần chuẩn bị cho bài thực hành LAB .
• Phần thực hành LAB .
4
1. Phần chuẩn bị cho bài thực hành LAB:
- Phần này yêu cầu các bạn sử dụng 2 hệ thống PC để có thể thực
hành bài LAB và thấy được hiệu quả của những bài thực hành .
- Tốt nhất các bạn nên sử dụng công cụ tạo máy ảo(VMware
Workstation, Micsoft Virtual PC) để có thể thực hiện tốt phần thực hành LAB .
- Ở đây tôi sẽ đưa ra mô hình thực hành như sau :
- Trong đó máy Attack sẽ sử dụng Windows XP sp2 và máy chủ Web
là victim sử dụng Windows 2000 Server .
1.1. Máy chủ Web Server victim :
1.1.1. Một hệ điều hành (OS) Microsoft Windows 2000 Server :
- Tôi sử dụng phiên bản Windows 2000 Server để hướng dẫn các bạn
thực hành bài LAB này cho thuận tiện .
5
- Việc làm sao để có hệ điều hành trên tất nhiên các bạn đã biết tôi sẽ
không nhắc tới, bên cạnh đó ta cần có 1 Web Server chạy trên nền Web
Server IIS 5.0 (Internet Information Service) .Phần này các bạn đã học
qua môn MCSA (Microsoft Certified System Administrator ) tất nhiên
phải biết cách cài đặt gói phần mềm Web Server này ở đâu ra .
- Ở đây tôi xin nhắc lại để những bạn nào chưa biết có thể biết cách
cài đặt gói phần mềm này để phục vụ cho bài thực hành LAB dưới đây .
- Vào Start
Setting
Control Panel
Add / Remove Programs .
- Chọn Add / Remove Windows Components .
- Chọn dấu chọn gói Internet Information Services (IIS), gói phần
mềm này sẽ chạy được các ứng dụng Web Application ASP .
6
- Chọn Next
.
7
- Chờ hệ thống cài đặt gói phần mềm IIS vào .
8
- Chọn Finish .
- Đến đây ta đã chuẩn bị xong phần Web Server cho hệ thống victim
để phục vụ bài thực hành LAB dưới đây .
1.1.2. Một hệ quản trị cơ sở dữ liệu (database) Microsoft SQL Server 2000 :
- Tôi sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000
Standard để hướng dẫn cho các bạn bài thực hành LAB này cho thuận
tiện .
- Việc làm sao để có và cách thức cài đặt gói phần mềm hệ quản trị cơ
sở dữ liệu Microsoft SQL Server thì bạn nào đã học qua MCDBA
(Micosoft Certified Database Administrator ) tất nhiên phải biết cách cài
đặt và sử dụng như thế nào .
- Ở đây tôi xin nhắc lại một cách cơ bản để các bạn chưa biết có thể
tự mình cài đặt gói phần mềm này để phục vụ cho bài thực hành LAB
dưới đây .
- Chọn file
setup.bat (trong thư mục gốc cài đặt) .
9
- Chọn Next
.
10
- Chọn Local Computer
chọn Next
.
11
- Chọn Create a new instance of SQL Server, or install Client Tools
chọn Next
.
12
- Chọn Next
.
13
- Chọn Server and Client Tools
chọn Next
.
14
- Chọn Yes
.
15
- Điền CD key vào và chọn Next
.
16
- Để mặc định Default
chọn Next
.
17
- Chọn Custom
chọn Next
.
18
- Chọn Next
.
19
- Chọn Use the same account …
chọn Use the Local System
account
chọn Next
.
20
- Chọn Mixed Mode (Windows Authentication and SQL Server
Authentication)
chọn Blank Password (Chú ý : do ở đây làm thực
hành LAB tôi sẽ để password rổng, trên thực tế không ai làm điều này !)
Chọn Next
.
21
- Chọn Next
.
22
- Chọn Muti – Protocol
chọn Enable Multi – Protocol Encryption
chọn Next
. (Chú ý : Các bạn hãy chú ý và nhớ port number của
Microsoft SQL Server “1433” để phục vụ cho bài thực hành LAB dưới
đây) .
23
- Chọn Next
.
24
- Chọn Per Seat for :
nhập vào 10 (Ở đây tôi chọn là 10)
chọn
Continue
.
25