TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG CHUYÊN ĐỀ HỌC PHẦN
AN TOÀN CSDL VÀ ƯD WEB
ĐỀ TÀI:
TẤN CÔNG ỨNG DỤNG WEB
Sinh viên thực hiện
Giảng viên hướng dẫn :
Ngành
: CƠNG NGHỆ THƠNG TIN
Chun ngành
:
Lớp
:
Khóa
: CƠNG NGHỆ THƠNG TIN
Hà Nội, tháng 3 năm 2021.
Phiếu chấm điểm
ST
T
1
Họ và tên
Nội dụng thực hiện
-
làm báo cáo
tìm hiểu về cơng
cụ Paros
2
-
làm báo cáo
tìm hiểu về cơng
cụ SQLMAP
3
-
làm báo cáo
tìm hiểu về cơng
cụ nikto
Họ và tên giảng viên
Giảng viên 1
Giảng viên 2
Chữ ký
Điể
m
Chữ ký
Ghi chú
Lời nói đầu
Ngày nay, khi Internet được phổ biến rộng rãi, mọi cá nhân, tổ chức đều có
nhu cầu giới thiệu thơng tin của mình trên mạng Internet cũng như thực hiện các
phiên giao dịch trực tuyến. Điều này làm cho các ứng dụng web phát triển, các ứng
dụng web ngày càng mở rộng thì khả năng xuất hiện lỗi và bị tấn công càng cao,
trở thành đối tượng cho nhiều người tấn cơng với các mục đích khác nhau. Cùng
với sự phát triển không ngừng của Internet và các dịch vụ trên Internet, số lượng
dịch vụ tấn công trên Internet cũng tăng theo cấp số nhân. Trong khi các phương
tiện thông tin đại chúng ngày càng nhắc nhiều đến những khả năng truy cập thơng
tin của Internet, thì các tài liệu chuyên môn bắt đầu đề cập đến nhiều vấn đề bảo
đảm và an toàn dữ liệu cho các máy tính kết nối vào mạng Internet. Vì thế vấn đề
bảo đảm và an toàn dữ liệu cho các máy tính được kết nối vào mạng Internet là cần
thiết nhằm mục đích bảo vệ dữ liệu, bảo vệ thơng tin doanh nghiệp, người dùng và
bảo vệ hệ thống. Sự tấn công không nằm trong một vài khuôn khổ mà linh động và
tăng lên tùy vào những sai sót của nhà quản trị hệ thống cũng như của những người
lập trình ứng dụng. Vì vậy, đề tài này được thực hiện với mục đích tìm hiểu, phân
tích các lỗ hổng bảo mật trong các ứng dụng Web.
Chương 1: Tổng quan về an toàn ứng dụng web
1.1 Những thành phần của một hệ thống ứng dụng web
Ứng dụng web là dạng ứng dụng client/server tương đối phức tạp. Một ứng
dụng web sẽ có 3 thành phần:
Server: được viết bằng một trong số các ngơn ngữ lập trình hỗ trợ web như
PHP, C#, Java, …
- Client: là loại chương trình đặc biệt chạy bên trong trình duyệt. Thành phần
client được tạo ra từ 3 thành phần riêng biệt: nội dung (HTML), hình thức
(CSS), tương tác (JavaScript)
- Cơ sở dữ liệu
1.2 Tấn công trong ứng dụng web
-
1.2.1 Cross-Site Scripting (XSS)
Các lổ hổng Cross-Site Scripting (XSS) là một số lổ hổng phổ biến nhất trên
internet, chúng xuất hiện do lượng tương tác ngày càng tăng của người dùng trong
các ứng dụng web ngày nay. Về cơ bản các cuộc tấn công XSS hoạt động dựa trên
việc các ứng dụng web thực thi các tập lệnh trên trình duyệt của người dùng. Ứng
dụng web có thể gặp rủi ro nếu tập lệnh đang thực thi bị người dùng thay đổi bằng
một cách nào đó
Có thể phân loại tấn cơng XSS theo ba cách sau:
- Đã lưu trữ (Mã được lưu trữ trên cơ sở dữ liệu trước khi thực thi)
- Phản hồi (Mã không được lưu trữ trong cơ sở dữ liệu mà được phản hồi bởi
máy trủ)
- Dựa vào DOM (Mã được lưu trữ và thực thi trong trình duyệt)
Tìm hiểu và khai thác XSS
Các cuộc tấn cơng XSS có thể
- Chạy một tập lệnh trong trình duyệt khơng được viết bởi chủ sở hữu ứng
dụng web
- Có thể chạy đằng sau, khơng có khả năng hiển thị hoặc người dùng phải
nhập dữ liệu vào để bắt đầu thực thi
- Có thể lấy bất kỳ loại dữ liệu nào có trong ứng dụng web hiện tại
- Có thể tự do gửi và nhận dữ liệu từ một máy chủ web độc hại
-
Có thể được sử dụng để đánh cáp mã thơng báo phiên, từ đó chiếm đoạt tài
khoản
Có thể được sử dụng để tạo các đối tượng DOM qua giao diện người dùng
hiện tại dẫn đền các cuộc tấn cơng hồn hảo mà người dùng khơng có kỹ
thuật sẽ khơng thể xác định được
Stored XSS
Tấn cơng stored XSS có lẽ là loại tấn công XSS phổ biến nhất. Các cuộc tấn
công stored XSS rất thú vị vì chúng là loại XSS dễ phát hiện nhất, nhưng
thường là một trong những loại nguy hiểm nhất vì chúng có thể ảnh hưởng đến
nhiều người dùng nhất. Kịch bản khai thác được mô tả như sau:
Refected XSS
Có đến 75% kỹ thuật XSS dựa trên Reflected XSS. Gọi là reflected (phản xạ)
bởi vì trong kịch bản khai thác loại này, hacker phải gửi cho nạn nhân một URL
có chứa đoạn mã nguy hiểm (thường là javascript). Nạn nhân chỉ cần request
đến URL này thì ngay lập tức hacker sẽ nhận được respond chứa kết quả mong
muốn.
Kịch bản khai thác trong thực tế
Có nhiều hướng để khai thác thông qua lỗi Reflected XSS, một trong những
cách được biết đến nhiều nhất là chiếm phiên làm việc (session) của người
dùng, từ đó có thể truy cập được dữ liệu và chiếm được quyền của họ trên
website.
1. Người dùng đăng nhập vào web và giả sử được gán session
2. Hacker gửi cho người dùng URL
3. Nạn nhân truy cập đến URL trên
4. Server phản hồi cho nạn nhân, kèm theo dữ liệu có trong request (đoạn
javascript của hacker)
5. Trình duyệt của nạn nhân nhận phản hồi và thực thi đoạn javascript
6.
Từ phía site của mình, hacker sẽ bắt được nội dung request trên và coi như
session của người dùng sẽ bị chiếm. Đến lúc này, hacker có thể giả mạo với
tư cách nạn nhân và thực hiện mọi quyền trên website mà nạn nhân có.
DOM-based XSS
DOM viết tắt của Document Object Model là 1 dạng chuẩn của W3C đưa ra
nhằm để truy xuất và thao tác dữ liệu của tài liệu có cấu trúc như HTML, XML.
Mơ hình này thể hiện tài liệu dưới dạng cấu trúc cây phân cấp. Tất cả các thành
phần trong HTML, XML đều được xem như một node. DOM Based XSS là kỹ
thuật khai thác XSS dựa trên việc thay đổi cấu trúc DOM của tài liệu, cụ thể là
HTML. Các bước thực hiện kỹ thuật tấn công DOM-based XSS được mơ tả như
sau.
Mặc dù ít phổ biến hơn trước đây, nhưng ngày nay các lỗ hổng XSS vẫn tràn lan
trên khắp các trang web. Do lượng tương tác của người dùng ngày càng tăng và
tính liên tục của dữ liệu trong các ứng dụng web, cơ hội để các lỗ hổng XSS xuất
hiện trong một ứng dụng đang lớn hơn bao giờ hết.
1.2.2 Cross-Site Request Forgery (CSRF)
CSRF (Cross Site Request Forgery) là kỹ thuật tấn công bằng cách sử dụng
quyền chứng thực của người dùng đối với một website. CSRF là kỹ thuật tấn công
vào người dùng, dựa vào đó hacker có thể thực thi những thao tác phải yêu cầu sự
chứng thực. Nói đơn giản, đây là kỹ thuật tấn công dựa vào mượn quyền trái phép.
Kịch bản tấn công
Các ứng dụng web hoạt động theo cơ chế nhận các câu lệnh HTTP từ người
sử dụng, sau đó thực thi các câu lệnh này. Hacker sử dụng phương pháp CSRF để
lừa trình duyệt của người dùng gửi đi các câu lệnh http đến các ứng dụng web. Điều
đó có thể thực hiện bằng cách chèn mã độc hay link đến trang web mà người dùng
đã được chứng thực. Trong trường hợp phiên làm việc của người dùng chưa hết hiệu
lực thì các câu lệnh trên sẽ được thực hiện với quyền chứng thực của người sử dụng
Cách phịng chống tấn cơng CSRF
Phía người dùng:
- Thốt khỏi các website quan trọng: tài khoản ngân hàng, thanh toán trực
tuyến… khi đã thực hiện xong các giao dịch hay các công việc cần làm.
- Không nên click vào các đường dẫn mà bạn nhận được qua mail.
- Không lưu các thơng tin về mật khẩu tại trình duyệt của mình.
- Trongkhi thực hiện giao dịch hay vào các website quan trọng, khơng nên vào
các website khác vì nó có thể chứa các mã khai thác của kẻ tấn công.
Phía Server:
- Sử dụng GET và PORT đúng cách.
- Sử dụng capcha, các thông báo xác nhận.
- Sử dụng token.
- Sử dụng cookie riêng cho trang quản trị.
- Kiểm tra REFERRER
- Kierm tra IP
1.2.3 XML External Entity (XXE)
XML Enternal Entity (XXE) là gì?
XML Enternal Entity (XXE) là một lỗ hổng bảo mật web cho phép kẻ tấn
công can thiệp vào quá trình xử lý dữ liệu XML của ứng dụng. Nó thường cho phép
kẻ tấn cơng xem các tệp trên hệ thống tệp của máy chủ ứng dụng và tương tác với
bất kỳ hệ thống bên ngoài hoặc bên ngoài nào mà bản thân ứng dụng có thể truy
cập.
Trong một số tình huống, kẻ tấn cơng có thể leo thang một cuộc tấn công
XXE để xâm phạm máy chủ bên dưới hoặc cơ sở hạ tầng back-end khác, bằng cách
tận dụng lỗ hổng XXE để thực hiện các cuộc tấn cơng giả mạo u cầu phía máy
chủ (SSRF).
Những hình thức tấn công XXE phổ biến:
- Khai thác XXE để truy xuất tệp: Để thực hiện tấn công chèn XXE truy xuất
tệp tùy ý từ hệ thống tệp của máy chủ, bạn cần sửa đổi XML đã gửi theo hai
cách:
•
Chỉnh sửa một loại dữ liệu xác định một thực thể bên ngồi chứa đường dẫn
đến tệp.
•
Chỉnh sửa giá trị dữ liệu trong XML được trả về trong phản hồi của ứng
dụng, để sử dụng thực thể bên ngoài đã xác định.
-
Khai thác XXE để thực hiện các cuộc tấn công SSRF: Để khai thác lỗ hổng
XXE để thực hiện một cuộc tấn công SSRF, bạn cần xác định một thực thể
XML bên ngoài bằng cách sử dụng URL mà bạn muốn nhắm mục tiêu và sử
dụng thực thể đã xác định trong một giá trị dữ liệu. Nếu bạn có thể sử dụng
-
thực thể đã xác định trong một giá trị dữ liệu được trả về trong phản hồi của
ứng dụng, thì bạn sẽ có thể xem phản hồi từ URL trong phản hồi của ứng
dụng và do đó có được tương tác hai chiều với hệ thống back-end. Nếu
không, bạn sẽ chỉ có thể thực hiện các cuộc tấn cơng SSRF mù (vẫn có thể
gây ra hậu quả nghiêm trọng).
Khai thác dữ liệu ngoài luồng dữ liệu exfiltrate XXE mù.
Khai thác Blind XXE để truy xuất dữ liệu thông qua thông báo lỗi.
Cách tìm và kiểm tra lổ hổng XXE
Phần lớn các lỗ hổng XXE có thể được tìm thấy một cách nhanh chóng và
đáng tin cậy bằng cách sử dụng trình quét lổ hổng web của Burp Suie.
Kiểm tra thủ cơng các lỗ hổng XXE thường bao gồm:
•
Kiểm tra khả năng truy xuất tệp bằng cách xác định một thực thể bên ngoài
dựa trên một tệp hệ điều hành nổi tiếng và sử dụng thực thể đó trong dữ liệu
được trả về trong phản hồi của ứng dụng.
•
Kiểm tra các lỗ hổng XXE mù bằng cách xác định một thực thể bên ngoài
dựa trên URL của một hệ thống mà bạn kiểm soát và giám sát các tương tác
với hệ thống đó. Ứng dụng khách Burp Collaborator hồn hảo cho mục đích
này.
•
Kiểm tra xem có dễ bị đưa vào dữ liệu không phải XML do người dùng cung
cấp trong tài liệu XML phía máy chủ hay khơng bằng cách sử dụng tấn công
Xlnclude để cố gắng truy xuất tệp hệ điều hành nổi tiếng.
Cách ngăn chặn lỗ hổng XXE
- Hầu như tất cả các lỗ hổng XXE đều phát sinh do thư viện phân tích cú pháp
XML của ứng dụng hỗ trợ các tính năng XML nguy hiểm tiềm ẩn mà ứng
dụng khơng cần hoặc có ý định sử dụng. Cách dễ nhất và hiệu quả nhất để
ngăn chặn các cuộc tấn cơng XXE là vơ hiệu hóa các tính năng đó.
1.2.4 Injection
SQL Injection
SQL Injection là một kỹ thuật lợi dụng những lỗ hổng về câu truy vấn lấy dữ
liệu của những website khơng an tồn trên web, đây là một kỹ thuật tấn công rất
phổ biến và sự thành công của nó cũng tương đối cao.
Dễ tấn cơng, phổ biến, gây hậu quả nghiêm trọng đó là những lý do Injection
đứng đầu trong top 10 lỗ hổng bảo mật của OWASP
Cơ chế tấn công của SQL Injection.
- Khi ta thực hiện câu lệnh SQL để truy vẫn dữ liệu
- Hacker tấn cơng thay đổi thơng tin, từ đó thay đổi câu lệnh SQL
- Hacker thông qua SQL Injection để dị tìm cấu trúc dữ liệu sau đó bắt đầu
khai thác dữ liệu bằng cách sử dụng câu lệnh
Hậu quả của SQL Injection
- Làm lộ dữ liệu Database
- Hack tài khoản cá nhân
- Ăn cắp hoặc sao chép dữ liệu của trang web hoặc của hệ thống
- Lộ dữ liệu khách hàng, từ đó làm ảnh hưởng đến hình ảnh, uy tín của cơng ty
- Hacker có thể chỉnh sửa dữ liệu, thâm nhập với vai trò admin lợi dụng hệ
thống hoặc xóa tồn bộ dữ liệu làm cho hệ tống ngừng hoạt động.
Cách phòng chống SQL Injection:
- Lọc dữ liệu người dùng
- Không cộng chuỗi để để tạo SQL: sử dụng parameter thay vì cộng chuỗi
- Khơng hiển thị exception, message lỗi: hạker dựa vào message lỗi để tìm ra
cấu trúc database.
- Phân quyền rõ ràng trong DB
- Backup dữ liệu thường xuyên
Code Injection
Code Injection hay còn gọi là thực hành mã code từ xa (RCE) cho phép các
kẻ tấn cơng giải phóng một mã độc nào đó là hệ quả của Code Injection. Tấn
cơng bằng cách tiêm mã độc khác hoàn toàn so với Command Injection thơng
thường. Những kẻ tấn cơng có khả năng phụ thuộc vào sự giới hạn của phiên
dịch viên cho server-side (ví dụ, PHP, Python…). Kẻ tấn cơng có thể làm leo
thang lỗ hổng code injection thậm chí là xa hơn nhờ vào hoạt động hệ thống
lệnh trên server một cách có chủ đích. Một khi kẻ tấn cơng có khả năng thực
hành mã lệnh OS, hắn có thể cố gắng để sử dụng web shell hoặc cài đặt các
phần mềm độc hại khác. Bắt nguồn từ đó, hắn thậm chí có khả năng tấn cơng
các hệ thống khác từ bên trong.
Tìm lỗi và cách phòng chánh Code Injection
Chúng ta dễ dàng kiểm tra xem trang web hoặc ứng dụng web có dễ bị tấn công
mã và các lỗ hổng khác hay không bằng cách chạy quét web tự động bằng trình
quét lỗ hổng Acunetix.
Command Injection
Command Injection (hay OS Command Injection) là một lỗ hổng bảo mật
web cho phép kẻ tấn công thực thi các lệnh hệ điều hành (OS) tùy ý trên máy
chủ đang chạy server đó. Kẻ tấn cơng có thể tận dụng lỗ hổng này để khai thác,
lấy thông tin, chuyển cuộc tấn công sang hệ thống khác bên trong tổ chức.
Lỗ hổng Blind OS Command Injection
Nhiều trường hợp OS command injection là blind vulnerabilities. Có nghĩa là
đầu ra sẽ khơng trả về trong HTTP response. Vậy kết quả sẽ không hiển thị trên
màn hình. Vậy để xác định được blind vulnerabilities ta có thể sử dụng time
delays để xác định được blind vulnerabilities. Nó sẽ kích hoạt độ trễ, cho phép
bạn xác nhận rằng lệnh này đã được thực thi hay chưa dựa vào thời gian mà ứng
dụng cần để đáp ứng. Lệnh ping là lệnh hiệu quả để thực hiện việc này, vì nó cho
phép chỉ định gói ICMP cần gửi và thời gian để lệnh chạy:
Có thể khai thác lỗ hổng này bằng cách chuyển hướng đầu ra từ lệnh chèn vào 1
tệp trong thư mục gốc mà bạn có thể đọc nó bằng trình duyệt của mình.
Cách ngăn chặn Command Injection
Cách hiệu quả nhất để ngăn ngừa command injection là không dùng
command nữa. Tức là không bao giờ gọi ra các lệnh OS từ lớp ứng dụng. Trong
các trường hợp, có nhiều cách khác nhau để thực hiện chức năng cần thiết bằng
cách sử dụng API trên nền tảng an tồn hơn. Nếu khơng thể tránh khỏi việc sử
dụng các lệnh OS thì phải thực hiện xác thực đầu vào mạnh:
- Chỉ chấp nhận đối với các giá trị được phép
- Chỉ chấp nhận đầu vào là một số
-
Chỉ chấp nhận đầu vào chỉ có kí tự chữ và số, khơng có ký tự đặc biệt,
khoảng trắng...
1.2.5 Denial of Service (DoS)
Denial-of-Service (DoS) là một cuộc tấn công nhằm tắt máy hoặc ngắt kết nối,
khiến người dùng ngừng truy cập. Các cuộc tấn công DoS thường hoạt động bằng
cách áp đảo hoặc làm quá tải mục tiêu với các request cho đến khi không thể xử lý,
dẫn đến từ chối dịch vụ cho người dùng. Trong cả hai trường hợp, DoS đều tước
quyền sử dụng dịch vụ hoặc tài nguyên hợp pháp của người dùng.
Nạn nhân của các cuộc tấn công DoS thường là email, website, tài khoản trực
tuyến... ngồi ra cịn có mạng, máy hoặc một chương trình. Mặc dù DoS khó để
đánh cắp thơng tin quan trọng, nhưng chúng có thể khiến nạn nhân phải mất rất
nhiều thời gian và tiền bạc để giải quyết hậu quả.
Có hai phương pháp tấn công DoS: Flooding attack hoặc crashing attack.
- Flooding attack: Tấn công flooding xảy ra khi hệ thống nhận quá lưu lượng
truy cập tối đa, khiến hệ thống chạy chậm lại và cuối cùng dừng lại.
- crashing attack: Tấn công crashing khai thác các lỗ hổng hệ thống hoặc dịch
vụ. Trong các cuộc tấn công này, tận dụng các lỗi trong mục tiêu sau đó khiến
hệ thống bị sập hoặc tổn hại nghiêm trọng, do đó khơng thể truy cập hoặc tạm
ngừng sử dụng nó.
Cách DoS attack hoạt động
Trọng tâm chính của một cuộc tấn cơng DoS là làm quá tải công suất của máy
được nhắm mục tiêu, dẫn đến việc từ chối dịch vụ đối với các yêu cầu bổ sung.
Có nhiều điểm tương đồng giữa một cuộc tấn công DoS và các lỗi kết nối
mạng không độc hại như: Sự cố kỹ thuật mạng, hệ thống bảo trì. Tuy nhiên, các
triệu chứng sau đây có thể chỉ ra một cuộc tấn cơng DoS:
•
Hiệu suất mạng chậm một cách bất thường như tải tệp hoặc website chậm
•
Khơng thể tải bất kỳ website nào
•
Mất kết nối đột ngột giữa các thiết bị trên cùng một mạng
Cách ngăn chặn DoS attack
Dùng các công cụ nhận biết các cuộc tấn công
Liên hệ với nhà cung cấp dịch vụ internet
Black hole routing
Cấu hình fivewalls và routers
Front-end hardware
1.3 Những lỗ hổng bảo mật web phổ biến
-
Lỗ hổng bảo mật luôn là vấn đề đau đầu của các quản trị viên website. Những lỗ
hổng này cho phép tin tặc khai thác – tấn công – xâm nhập – vi phạm dữ liệu của
website doanh nghiệp. Dưới đây là TOP 10 lỗ hổng bảo mật web phổ biến nhất theo
tiêu chuẩn OWASP:
-
Lỗ hổng Injection: lỗ hổng xảy ra do sự thiếu sót trong việc lọc các dữ liệu
đầu vào không đáng tin cậy
Broken Authentication: vấn đề xảy ra trong q trình xác thực.
XSS (Cross Site Scripting): kẻ tấn cơng chèn các đoạn mã JavaScript vào
ứng dụng web
Insecure Direct Object References: Lỗ hổng này xảy ra khi chương trình cho
phép người dùng truy cập các tài nguyên (dữ liệu, file, database)
Security Misconfiguration
Sensitive data exposure (Rò rỉ dữ liệu nhạy cảm)
Missing function level access control (lỗi phân quyền)
Cross Site Request Forgery (CSRF)
Using component with known vulnerabilities: vấn đề xảy ra khi sử dụng các
bộ thư viện đã tồn tại lỗ hổng
Unvalidated redirects and forwards: đây là vấn đề lọc đầu vào
1.4 Những kỹ thuật tấn công vào ứng dụng web
-
Tấn công Bruteforce: là cách thức thử tất cả các khả năng có thể để đốn các
thơng tin cá nhân đăng nhập.
Lỗi chứng thực yếu (Insufficient Authentication): xuất hiện khi một website
cho phép truy cập các nội dung, tài nguyên nhạy cảm mà khơng có đủ quyền.
- Dự đốn, chèn phiên (Credentical/Session Prediction): lag một phương thức
chiếm phiên.
- XSS – Cross-Site Scripting:
- SQL injection: Tấn công SQL Injection được thực thi bằng cách chèn các câu
truy vấn SQL vào dữ liệu tương tác giữa máy khách và trình ứng dụng
- Liệt kê thư mục (Directory indexing)
- Path Traversal
- Từ chối dịch vụ (DoS)
1.5 Tìm hiểu về các cơng cụ Pentest
1.5.1 Cơng cụ Paros
-
Paros là công cụ được viết bằng Java dùng để đánh giá lỗ hổng ứng dụng
web thông qua web proxy. Hỗ trợ chỉnh sủa các message HTTP/HTTPS, cookie…
hỗ trợ webspider, hash calculator. Là một công cụ scan để kiểm tra các lỗi phổ biến
trên web server như SQL Injection, XSS….
Cách sử dụng Paros:
•
Thiết lập Local Proxy
•
Thiết lập web browers firefo: Tools Options Advanced Network Settings
•
•
•
Dùng firefox để truy cập vào các site cần test
Truy cập vào các phần cần test
Mở Paros lên vào Anlyse Scan
1.5.2 Công cụ SQLMAP
SQLMap là một công cụ khai thác những lỗ hổng của cơ sở dữ liệu SQL. Là
công cụ khai thác SQL tốt nhất hiện nay, nó là cơng cụ mã nguồn mở tự động hóa
q trình phát hiện và khai thác lỗ hổng SQL. Nó đi kèm với một cơng cụ phát hiện
mạnh mẽ, nhiều tính năng thích hợp cho trình kiểm tra thâm nhập cuối cùng.
Cách sử dụng SQL Map
• Khai thác database
•
Khai thác table trong database
•
Sau khi có table ta kiểm tra columns
1.5.3 Công cụ Nikto
Nikto là một phần mềm mã nguồn mở được sử dụng kiểm tra các vấn đề bảo mật
của web server bằng một hệ thống cơ sở dữ liệu riêng. Nikto là một công cụ rất hữu
hiệu trong việc dị qt lỗi tuy nhiên nó lại khơng được cập nhật thường xuyên. Các
lỗi thường apdate chậm và khó tìm thấy.
Cách sử dụng Nikto
•
•
Tải và cài đặt Nikto
Tiến hành quét trên web server
•
Quét trang web
1.6 Các phương pháp bảo vệ ứng dụng web
-
Thường xuyên cập nhật phần mềm ứng dụng web
Bảo mật SQL Injection
Bảo mật với XSS
Bảo mật với các thông báo lỗi website
Cài mật khẩu có độ bảo mật cao
Xét duyệt việc tải tệp tin lên website
Bảo mật với HTTPS
Chương 2: Tổng quan về bảo mật cơ sở dữ liệu
2.1 Vai trò của hệ thống CSDL trong hệ thống ứng dụng web
Trong thời đại hiện nay CSDL chiếm một vi trí rất quan trọng và trở thành
một phần khơng thể thiểu trong hầu hết các hoạt động hàng ngày. Sau đây là
một số vai trò nổi bật của CSDL.
-
Lưu trứ thơng tin có hệ thống
Đảm bảo an tồn dũ liệu
Đảm bảo khả năng truy xuất đồng thời của nhiều người dùng trên dữ liệu
Linh hoạt thay đổi theo như cầu của người dùng
Công tác quản lý dễ dàng hơn
2.2 Những điểm yếu của hệ thống CSDL
-
Phải đảm bảo tính chủ quyền của dữ liệu, vì khi sử dụng có tính chất chia sẻ
cao.
Bảo mật quyền khai thác thơng tin.
Bảo đảm vấn đề tranh chấp dữ liệu khi xảy ra.
Khi gặp các trục trặc sự cố thì phải bảo đảm vấn đề an tồn dữ liệu, khơng bị
mất dữ liệu.
2.3 Các ký thuật tấn công vào CSDL
-
Lạm dụng quyền vượt mức
Lạm dụng quyền hợp pháp
Nâng cấp quyền bất hợp pháp
Lợi dụng các điểm yếu nền tảng
Tấn công SQL Injection
Lợi dụng dấu vết kiểm tốn yếu
Tấn cơng từ chối dịch vụ
Lợi dụng các điểm yếu trong giao thức giao tiếp CSDL
Lợi dụng xác thực yếu
Lợi dụng sự sơ hở của dữ liệu dự phòng
2.4 Phương pháp bảo vệ CSDL trước các cuộc tấn cơng
•
•
Xây dựng tầng CSDL trung gian
Sử dụng cơ chế sẵn có trong CSDL
Kết luận
Sau một thời gian nghiên cứu và bắt tay vào thực hiện, tìm hiểu đề tài , được sự
quan tâm và hướng dẫn tận tình của thầy Nguyễn Khánh Tùng, chúng em đã hoàn
thành được đề tài.
Với mục đích ngày càng hồn thiện để đáp ứng tốt cho việc tin học hóa quản
lý đào tạo các khóa học ngắn hạn, trong tương lai chúng em sẽ cố gắng tìm hiểu kỹ
hơn, đi sâu hơn, và cố gắng hồn thành tốt đề tài hơn
Vì thời gian triển khai có hạn, và việc tìm hiểu cơng nghệ mới cịn gặp nhiều
khó khăn do khơng có nhiều tài liệu nên khơng tránh được những sai sót. Em rất
mong nhận được sự đóng góp ý kiến và những hướng dẫn của thầy cơ để đồ án
thêm hồn chỉnh.
Em xin chân thành cảm ơn!
Tài liệu tham khảo
[1] Chris Sanders & Jason Smith, “Applied Network Security Monitoring”
[2] /> />[3] />[4] />[5] />[6] />[7] />[8] />[9] />[10] />fbclid=IwAR2qKha3lAgc5TF3KIeqqIFCKqxV1KJlczJ2bvthvC0FvxZPAAGJgShYr4
[11] />