Tải bản đầy đủ (.docx) (39 trang)

tool kali linux owapzap

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 (2.58 MB, 39 trang )

MỤC LỤC
Chương I. Khái quát về công cụ OSWAP ZAP.................................................................. 6
I.

Giới thiệu ZAP............................................................................................................ 6
1) Kiểm thử bảo mật là gì ( penetration testing ) ?....................................................... 6
2) Khái niệm................................................................................................................. 6
3) Công dụng và chức năng.......................................................................................... 7
II. Giao diện làm việc và cấu hình.................................................................................... 8
1) Giao diện.................................................................................................................. 8
2) Automted Scan và Manual Exploit........................................................................... 9
a) Automated Scan.................................................................................................... 9
b) Manual Exploit................................................................................................... 12
3) Cấu hình sử dụng ZAP........................................................................................... 15
a) Thiết lập session................................................................................................. 15
b) Thiết lập sử dụng Oswap Zap............................................................................. 16
c) Thiết lập Protected Mode.................................................................................... 17
Chương II. Sử dụng công cụ ZAP tiến hành khai thác mục tiêu...................................... 18
I.

Giới thiệu công cụ hỗ trợ Burp Suite......................................................................... 18
1) Một số tính năng nổi bật của Burpsuite.................................................................. 18
2) Các chức năng chính của Burp Suite...................................................................... 19
II. Tiến hành khai thác.................................................................................................... 19
1) Automated Scan..................................................................................................... 19
a) Khai thác SQL Injection..................................................................................... 20
b) Khai thác lỗi XSS............................................................................................... 26
2) Manual Exploit....................................................................................................... 28
a) Test thâm nhập thủ công..................................................................................... 28
b) Phương thức test thâm nhập................................................................................ 28
c) Một số ví dụ về Test Case................................................................................... 29


d) Khai thác XSS thủ công...................................................................................... 32
e) Khai thác SQL Injection thủ công....................................................................... 34


DANH MỤC HÌNH ẢNH
Hình 1.1: Giao diện zap..................................................................................................... 9
Hình 1.2: Automated scan................................................................................................ 10
Hình 1.3: Spider............................................................................................................... 11
Hình 1.4: Mức độ nghiêm trọng....................................................................................... 12
Hình 1.5: Thơng tin chi tiết alerts.................................................................................... 12
Hình 1.6: Manual scan..................................................................................................... 13
Hình 1.7: Giao diện hub................................................................................................... 15
Hình 1.8: Thiết lập phiên làm việc................................................................................... 16
Hình 1.9: Thiết lập cài đặt................................................................................................ 16
Hình 1.10: Cấu hình proxy............................................................................................... 17
Hình 1.11: Thiết lập protected mode................................................................................ 17
Hình 2.1: Quick scan automated...................................................................................... 20
Hình 2.2: Alerts sau khi scan xong................................................................................... 20
Hình 2.3: Các kiểu tấn cơng sql injection........................................................................ 22
Hình 2.4: Thơng tin chi tiết request.................................................................................. 23
Hình 2.5: Xác định post tiến hành khai thác.................................................................... 23
Hình 2.6: Thiết lập positions ở phần intruder................................................................... 24
Hình 2.7: Chọn payload để khai thác tự động.................................................................. 24
Hình 2.8: Kết quả trả về sau khi khai thác tự động.......................................................... 25
Hình 2.9: Đăng nhập bypass authencation....................................................................... 25
Hình 2.10: Đăng nhập bypass authencation thành cơng................................................... 26
Hình 2.11: Request trả về lỗi xss...................................................................................... 27
Hình 2.12: Mã độc thực thi.............................................................................................. 28
Hình 2.13: Chọn url mục tiêu và khai thác thủ cơng........................................................ 32
Hình 2.14: Xác định input đầu vào.................................................................................. 33

Hình 2.15: Tiến hành active scan..................................................................................... 33
Hình 2.16: Alerts thơng báo trả về lỗi xss........................................................................ 34
Hình 2.17: Xác định input đầu vào tấn cơng sql injection................................................ 34
Hình 2.18: Tiến hành khai thác sql injection tự động....................................................... 35
Hình 2.19: Add vùng chèn request................................................................................... 35
Hình 2.20: Chọn payload sql injection............................................................................. 36
Hình 2.21: Bắt đầu khai thác............................................................................................ 37
Hình 2.22: Kết quả trả về sau khi khai thác thành công................................................... 37


DANH MỤC TỪ VIẾT TẮT

Từ viết tắt

Thuật ngữ tiếng anh

ZAP

Zed Attack Proxy

OWASP

Open Web Application Security Project

URL

Uniform Resource Locator

XSS


Cross Site Scripting

SQL

Structured Query Language

Pentesting

penetration testing

AJAX

Asynchronous JavaScript and XML

HUD

Heads Up Display


LỜI MỞ ĐẦU
Với sự gia tăng những dịch vụ mới được cung cấp thông qua mạng lưới internet,
càng ngày càng có nhiều vụ xâm nhập bảo mật trong các lĩnh vực như ngân hàng trực
tuyến, game trực tuyến hay xâm nhập email các chính khách. Việc kết nối giữa các máy
tính ngày càng tăng lên thơng qua mạng lưới internet đã góp phần làm gia tăng số lượng
các cuộc tấn cơng và số lượng các phần mềm có thể bị tấn công và cũng đã đặt các hệ
thống vào rủi ro lớn. Con người, nền kinh tế và các tổ chức chính phủ càng ngày càng
phụ thuộc nhiều hơn vào các kết nối trực tuyến như email hoặc trang web được cung cấp
bởi hệ thống thông tin. Khi các hệ thống này được kết nối với nhau, chúng sẽ rất dễ bị tấn
công bởi các phần mềm khác dù chúng ở cách xa nhau. Do việc kết nối thông qua internet
khơng bắt buộc phải có sự can thiệp của con người nên việc phát động các cuộc tấn công

tự động là rất dễ dàng.
Trong vài năm qua, đã có sự xâm phạm tài liệu của nhiều hệ thống phần mềm trực
tuyến. Cho dù đó là vì lý do chính trị (Anonymous / WikiLeaks) hoặc trộm cắp (Sony
PlayStation Network), việc xâm nhập vào các dịch vụ trực tuyến phổ biến chắc chắn đã
tăng lên trong vài năm qua, và vẫn đang tiếp tục tăng, nhiều đến mức mà việc nghe về
chúng khơng cịn hiếm thấy ở các quốc gia và thậm chí là ở trên các bản tin quốc tế.
Kiểm thử bảo mật đặc trưng có thể chiếm đến 90% ngân sách của bảo mật thông
tin, một số tiền thường được đầu tư vào bảo mật mạng lưới là tường lửa và hệ thống xâm
nhập. Tuy nhiên việc xâm nhập không chỉ nhắm vào chính bản thân ứng dụng và cơ sở hạ
tầng tại chỗ. Dev cần phải đảm bảo rằng khơng có lỗ hổng an ninh nào tồn tại trong các
dịng code của họ. Điều này có thể trở nên phức tạp vì phần mềm được xây dựng để đáp
ứng những yêu cầu cơ bản nhất. Nó khiến cho kịch bản kiểm thử cũng phải được xây
dựng dựa theo các yêu cầu chức năng, ví dụ như mục đích của phần mềm, mà khơng cần
quan tâm đến những gì phần mềm không thể thực hiện. Một nhân viên kiểm thử phần
mềm giỏi cần phải cân nhắc đến các kịch bản tiêu cực.
Với việc kiểm thử bảo mật ngày càng trở nên quan trọng và không thể thiếu trong
các công ty về phần mềm, thì rất nhiều cơng cụ hỗ trợ đắc lực được ra đời nhằm giúp
những chuyên gia kiểm thử bảo mật, nó giúp họ giảm bớt gánh nặng trong quá trình kiểm
tra bảo mật của ứng dụng.


Chương I. Khái quát về công cụ OWASP ZAP
I.

Giới thiệu ZAP
1) Kiểm thử bảo mật là gì ( penetration testing ) ?
Kiểm thử bảo mật phần mềm là quá trình đánh giá và thử nghiệm một hệ thống
nhằm phát hiện ra các rủi ro và lỗ hổng bảo mật của hệ thống và dữ liệu của nó.
Khơng có thuật ngữ chung nhưng vì mục đích của chúng tơi, chúng tơi định nghĩa
đánh giá là việc phân tích và phát hiện ra các lỗ hổng bảo mật mà không cố gắng thực

sự khai thác các lỗ hổng đó. Chúng tơi định nghĩa kiểm tra là việc phát hiện và cố
gắng khai thác các lỗ hổng.
Kiểm tra thâm nhập (pentesting) được thực hiện như thể người kiểm tra là một kẻ
tấn công độc hại bên ngoài với mục tiêu đột nhập vào hệ thống và đánh cắp dữ liệu
hoặc thực hiện một số loại tấn cơng từ chối dịch vụ.
Pentesting có lợi thế là chính xác hơn vì nó có ít kết quả dương tính giả hơn (kết
quả báo cáo một lỗ hổng thực sự khơng xuất hiện), nhưng có thể tốn thời gian để
chạy.
Pentesting cũng được sử dụng để kiểm tra các cơ chế phòng thủ, xác minh kế
hoạch phản ứng và xác nhận việc tuân thủ chính sách bảo mật.
Tự động dồn nén là một phần quan trọng của xác thực tích hợp liên tục. Nó giúp
phát hiện ra các lỗ hổng mới cũng như hồi quy cho các lỗ hổng trước đó trong một
mơi trường thay đổi nhanh chóng và trong đó sự phát triển có thể mang tính cộng tác
và phân phối cao.
Pentesting thường theo các giai đoạn sau:
1) Explore- Người kiểm tra cố gắng tìm hiểu về hệ thống đang được kiểm tra.
Điều này bao gồm việc cố gắng xác định phần mềm nào đang được sử dụng,
điểm cuối nào tồn tại, bản vá lỗi nào được cài đặt, v.v. Nó cũng bao gồm việc
tìm kiếm trang web để tìm nội dung ẩn, các lỗ hổng đã biết và các dấu hiệu
điểm yếu khác.
2) Attack- Người thử nghiệm cố gắng khai thác các lỗ hổng đã biết hoặc bị nghi
ngờ để chứng minh chúng tồn tại.
3) Report- Người thử nghiệm báo cáo lại kết quả thử nghiệm của họ, bao gồm các
lỗ hổng, cách họ khai thác chúng và mức độ khó khăn của việc khai thác cũng
như mức độ nghiêm trọng của việc khai thác.
2) Khái niệm


Zed Attack Proxy (ZAP) là một công cụ kiểm tra thâm nhập mã nguồn mở miễn
phí đang được duy trì dưới sự bảo trợ của Dự án Bảo mật Ứng dụng Web Mở



(OWASP). ZAP được thiết kế đặc biệt để thử nghiệm các ứng dụng web và vừa linh
hoạt vừa có thể mở rộng.
Về cốt lõi, ZAP là cái được gọi là “proxy man-in-the-middle”. Nó nằm giữa trình
duyệt của người kiểm tra và ứng dụng web để nó có thể chặn và kiểm tra các tin nhắn
được gửi giữa trình duyệt và ứng dụng web, sửa đổi nội dung nếu cần, sau đó chuyển
tiếp các gói đó đến đích. Nó có thể được sử dụng như một ứng dụng độc lập và như
một quy trình daemon

Nếu có một proxy mạng khác đã được sử dụng, như trong nhiều môi trường công
ty, ZAP có thể được định cấu hình để kết nối với proxy đó.

ZAP cung cấp chức năng cho nhiều cấp độ kỹ năng - từ nhà phát triển, người thử
nghiệm mới thử nghiệm bảo mật, đến các chuyên gia thử nghiệm bảo mật. ZAP có các
phiên bản cho từng hệ điều hành chính và Docker, vì vậy bạn khơng bị ràng buộc với
một hệ điều hành duy nhất. Chức năng bổ sung có sẵn miễn phí từ nhiều tiện ích bổ
sung trong ZAP Marketplace, có thể truy cập từ bên trong ứng dụng khách ZAP.
Bởi vì ZAP là mã nguồn mở, mã nguồn có thể được kiểm tra để xem chính xác
chức năng được triển khai như thế nào. Bất kỳ ai cũng có thể tình nguyện làm việc
trên ZAP, sửa lỗi, thêm tính năng, tạo yêu cầu kéo để đưa các bản sửa lỗi vào dự án và
tác giả các tiện ích bổ sung để hỗ trợ các tình huống chuyên biệt
3) Công dụng và chức năng
Owasp Zap – The Open Web Application Security Project được hiểu là dự án mở
về bảo mật ứng dụng web. Đây là một dự án được cả cộng đồng chung tay tham gia,
giúp các tổ chức có thể phát triển mở hoặc bảo trì các ứng dụng ở trạng thái an toàn.
Chúng được người dùng biết đến nhiều nhất với tính năng quét lỗi bảo mật của ứng
dụng web, mã nguồn mở. Bạn sẽ tìm thấy nhiều tính năng tuyệt vời ở Owasp Zap bao
gồm cả miễn phí và trả phí như:



Là mã nguồn mở.
Các công cụ đạt chuẩn về an tồn thơng tin
Thực hiện chính sách kiểm tra về bảo mật, an toàn cho mã nguồn
Sử dụng hoàn toàn miễn phí.
Ứng dụng đa nền tảng.
Dễ dàng cài đặt và sử dụng.
Cho phép triển khai sử dụng nhiều ngôn ngữ.
Quét tự dộng
Tự động cập nhật nhiều tính năng cho người dùng
Là công cụ được nhiều người dùng tham gia sử dụng, tạo thành một cộng
đồng nhiều thành viên.
o Được phát triển bởi các chun gia lập trình chun nghiệp.
o
o
o
o
o
o
o
o
o
o

Ngồi ra, Owasp Zap cũng đưa ra 10 rủi ro mà bạn có thể gặp phải
o
o
o
o
o

o
o
o
o
o

Khả năng bị tiêm nhiễm mã độc.
Tính san lầm trong việc kiểm tra định danh cũng như các phiên làm việc.
Thực thi mã Scrip xấu.
Đối tượng tham chiếu khơng được an tồn tuyệt đối.
Cấu hình an ninh có thể bị sai.
Có thể bị lộ cấu hình nhạy cảm.
Đơi khi cịn bị mất kiểm sốt mức độ truy cập chức năng.
Giả mạo yêu cầu.
Bị tấn công khi sử dụng các thành phần với những lỗ hổng bảo mật.
Chuyển hướng khơng an tồn.

Tuy Owasp Zap cịn một số hạn chế nhưng những ưu điểm chúng mang lại vẫn
chiếm được lòng tin của người dùng. Rấ nhiều cá nhân, đơn vị, tổ chức đã tìm hiểu và
cài đặt Owasp Zap thành cơng để áp dụng chúng trong cơng việc của mình.
II.

Giao diện làm việc và cấu hình
1) Giao diện


Hình 1.1: Giao diện ZAP
Giao diện người dùng ZAP Desktop bao gồm các phần tử sau:
o Menu Bar- Cung cấp quyền truy cập vào nhiều công cụ tự động và thủ công.
o Toolbar - Bao gồm các nút giúp truy cập dễ dàng vào các tính năng thường

được sử dụng nhất.
o Tree Window- Hiển thị cây Trang web và cây Tập lệnh.
o Workspace Window - Hiển thị các yêu cầu, phản hồi và tập lệnh và cho
phép bạn chỉnh sửa chúng.
o Information Window - Hiển thị chi tiết của các công cụ tự động và thủ công.
o Footer - Hiển thị tóm tắt các cảnh báo được tìm thấy và trạng thái của các
cơng cụ tự động chính.
2) Automted Scan và Manual Exploit
a) Automated Scan


Hình 1.2: Automated Scan
Cách dễ nhất để bắt đầu sử dụng ZAP là thông qua tab Bắt đầu nhanh. Quick Start
là một tiện ích bổ sung ZAP được tự động đưa vào khi bạn cài đặt ZAP. Để chạy Quét
Tự động Bắt đầu Nhanh:
o Khởi động ZAP và nhấp vào tab Quick Start của Cửa sổ không gian làm việc.
o Nhấp vào nút Quét tự động lớn.
o Trong hộp văn bản URL to attack, hãy nhập URL đầy đủ của ứng dụng web
bạn muốn tấn công.
o Nhấp vào Attack
ZAP sẽ tiến hành thu thập dữ liệu ứng dụng web bằng trình thu thập dữ liệu của nó
và qt thụ động từng trang mà nó tìm thấy. Sau đó, ZAP sẽ sử dụng trình qt đang
hoạt động để tấn cơng tất cả các trang, chức năng và thông số đã phát hiện.
ZAP cung cấp 2 trình thu thập thơng tin để thu thập dữ liệu các ứng dụng web, bạn
có thể sử dụng một trong hai hoặc cả hai trình thu thập thơng tin từ màn hình này.
Spider ZAP truyền thống phát hiện ra các liên kết bằng cách kiểm tra HTML trong
các phản hồi từ ứng dụng web. Nhện này nhanh nhưng không phải lúc nào cũng hiệu
quả khi khám phá một ứng dụng web AJAX tạo liên kết bằng JavaScript.
Đối với các ứng dụng AJAX, AJAX spider của ZAP có thể sẽ hiệu quả hơn.
Spider này khám phá ứng dụng web bằng cách gọi các trình duyệt sau đó đi theo các

liên kết đã được tạo. Spider AJAX chậm hơn nhện truyền thống và yêu cầu cấu hình
bổ sung để sử dụng trong môi trường .


Hình 1.3: Spider
ZAP sẽ quét một cách thụ động tất cả các yêu cầu và phản hồi được ủy quyền
thông qua nó. Cho đến nay ZAP chỉ thực hiện quét thụ động ứng dụng web của bạn.
Quét thụ động không thay đổi phản hồi theo bất kỳ cách nào và được coi là an tồn.
Q trình qt cũng được thực hiện trong một chuỗi nền để không làm chậm quá trình
khám phá. Quét thụ động rất tốt trong việc tìm ra một số lỗ hổng và là một cách để có
được cảm nhận về trạng thái bảo mật cơ bản của ứng dụng web và xác định vị trí cần
điều tra thêm.
Tuy nhiên, hoạt động quét chủ động cố gắng tìm ra các lỗ hổng khác bằng cách sử
dụng các cuộc tấn công đã biết chống lại các mục tiêu đã chọn. Quét chủ động là một
cuộc tấn công thực sự vào những mục tiêu đó và có thể khiến mục tiêu gặp rủi ro, vì
vậy khơng sử dụng tính năng quét chủ động đối với những mục tiêu mà bạn không
được phép kiểm tra.
 Diễn giải kết quả kiểm tra của bạn
Khi ZAP thu thập ứng dụng web của bạn, nó sẽ xây dựng bản đồ các trang của
ứng dụng web của bạn và các tài nguyên được sử dụng để hiển thị các trang đó.
Sau đó, nó ghi lại các yêu cầu và phản hồi được gửi đến mỗi trang và tạo cảnh báo
nếu có điều gì đó có thể xảy ra sai với một yêu cầu hoặc phản hồi.
 Xem các trang đã khám phá
Để kiểm tra chế độ xem dạng cây của các trang đã khám phá, hãy nhấp
vào tab Sites trong Cửa sổ dạng cây. Bạn có thể mở rộng các nút để xem các URL
riêng lẻ được truy cập.
 Xem cảnh báo và chi tiết cảnh báo
Phía bên trái của Chân trang chứa một số Cảnh báo được tìm thấy trong quá
trình kiểm tra của bạn, được chia thành các danh mục rủi ro. Các loại rủi ro này là:



Hình 1.4: Mức độ nghiêm trọng
Để xem các cảnh báo được tạo trong quá trình kiểm tra của bạn:
o Nhấp vào tab Alerts trong Cửa sổ Thông tin.
o Nhấp vào từng cảnh báo được hiển thị trong cửa sổ đó để hiển thị URL
và lỗ hổng được phát hiện ở phía bên phải của Cửa sổ thơng tin.
o Trong Windows Workspace, hãy bấm vào tab Response để xem nội
dung của tiêu đề và nội dung của phản hồi. Phần phản hồi đã tạo ra cảnh
báo sẽ được đánh dấu.

Hình 1.5: Thông tin chi tiết Alerts
b) Manual Exploit


Hình 1.6: Manual Scan
Chức năng quét thụ động và tấn công tự động là một cách tuyệt vời để bắt đầu
đánh giá lỗ hổng của ứng dụng web của bạn nhưng nó có một số hạn chế. Trong số
này có:
o Bất kỳ trang nào được bảo vệ bởi trang đăng nhập đều khơng thể phát
hiện được trong q trình qt thụ động vì trừ khi bạn đã định cấu hình
chức năng xác thực của ZAP, ZAP sẽ không xử lý xác thực được u
cầu.
o Bạn khơng có nhiều quyền kiểm sốt trình tự khám phá trong q trình
qt thụ động hoặc các loại tấn công được thực hiện trong một cuộc tấn
công tự động. ZAP cung cấp nhiều tùy chọn bổ sung để thăm dị và tấn
cơng bên ngồi qt thụ động.
Trình thu thập thơng tin là một cách tuyệt vời để khám phá trang web cơ bản
của bạn, nhưng chúng nên được kết hợp với khám phá thủ công để có hiệu quả
hơn. Ví dụ: Spiders sẽ chỉ nhập dữ liệu mặc định cơ bản vào các biểu mẫu trong
ứng dụng web của bạn nhưng người dùng có thể nhập thêm thơng tin có liên quan

để có thể hiển thị nhiều ứng dụng web hơn cho ZAP. Điều này đặc biệt đúng với
những thứ như biểu mẫu đăng ký yêu cầu địa chỉ email hợp lệ. Con nhện có thể
nhập một chuỗi ngẫu nhiên, điều này sẽ gây ra lỗi. Người dùng sẽ có thể phản ứng
với lỗi đó và cung cấp một chuỗi được định dạng chính xác, điều này có thể khiến
ứng dụng bị lộ nhiều hơn khi biểu mẫu được gửi và chấp nhận.
Bạn nên khám phá tất cả ứng dụng web của mình bằng trình duyệt proxy thông
qua ZAP. Khi bạn làm điều này, ZAP sẽ quét một cách thụ động tất cả các yêu cầu
và phản hồi được thực hiện trong quá trình bạn khám phá các lỗ hổng, tiếp tục xây
dựng sơ đồ trang web và ghi lại các cảnh báo cho các lỗ hổng tiềm ẩn được tìm
thấy trong quá trình thăm dò.
Điều quan trọng là phải để ZAP khám phá từng trang trong ứng dụng web của
bạn, cho dù được liên kết với trang khác hay khơng, để tìm các lỗ hổng. Sự che
khuất không phải là bảo mật và các trang ẩn đôi khi hoạt động mà không cần cảnh


báo hoặc thơng báo. Vì vậy, hãy cẩn thận hết mức có thể khi khám phá trang web
của bạn.


Bạn có thể nhanh chóng và dễ dàng khởi chạy các trình duyệt được cấu hình
trước để proxy thơng qua ZAP thơng qua tab Quick Start. Các trình duyệt được
khởi chạy theo cách này cũng sẽ bỏ qua bất kỳ cảnh báo xác thực chứng chỉ nào
mà nếu không sẽ được báo cáo.
Để khám phá ứng dụng của bạn theo cách thủ công:
o Khởi động ZAP và nhấp vào tab Quick Start của Cửa sổ không gian
làm việc.
o Nhấp vào nút Manual Explore.
o Trong hộp văn bản URL to explore, hãy nhập URL đầy đủ của ứng dụng
web bạn muốn khám phá.
o Chọn trình duyệt bạn muốn sử dụng

o Nhấp vào Launch Browser
Tùy chọn này sẽ khởi chạy bất kỳ trình duyệt nào phổ biến nhất mà bạn đã cài
đặt với các cấu hình mới.
Nếu bạn muốn sử dụng bất kỳ trình duyệt nào của mình với cấu hình hiện có,
chẳng hạn như với các tiện ích bổ sung khác của trình duyệt được cài đặt, thì bạn
sẽ cần phải định cấu hình thủ cơng trình duyệt của mình để proxy qua ZAP và
nhập và tin cậy Chứng chỉ ZAP Root CA. Xem Hướng dẫn Sử dụng Máy tính để
bàn ZAP để biết thêm chi tiết.
Theo mặc định, Hiển thị cảnh báo ZAP (HUD) sẽ được bật. Bỏ chọn tùy chọn
có liên quan trên màn hình này trước khi khởi chạy trình duyệt sẽ vơ hiệu hóa
HUD.
Màn hình Cảnh báo (HUD) là một giao diện sáng tạo mới cung cấp quyền truy
cập vào chức năng ZAP trực tiếp trong trình duyệt. Nó lý tưởng cho những người
mới làm quen với bảo mật web và cũng cho phép những người kiểm tra thâm nhập
có kinh nghiệm tập trung vào chức năng của ứng dụng đồng thời cung cấp thông
tin và chức năng bảo mật chính.


Hình 1.7: Giao diện HUD
HUD được phủ lên trên ứng dụng đích trong trình duyệt của bạn khi được bật
qua tùy chọn thanh cơng cụ hoặc màn hình 'Khám phá thủ cơng'. Chỉ các trình
duyệt hiện đại như Firefox và Chrome mới được hỗ trợ.
Theo mặc định, một màn hình hiển thị cho HUD bao gồm một liên kết đến một
hướng dẫn sẽ đưa bạn qua các tính năng của HUD và giải thích cách bạn có thể sử
dụng chúng
3) Cấu hình sử dụng ZAP
a) Thiết lập session
Khi mới bắt đầu ZAP, bạn sẽ được hỏi có muốn duy trì phiên ZAP hay không.
Theo mặc định, các phiên ZAP luôn được ghi vào đĩa trong cơ sở dữ liệu
HSQLDB với tên và vị trí mặc định. Nếu bạn khơng tiếp tục phiên, các tệp đó sẽ

bị xóa khi bạn thốt khỏi ZAP.


Nếu bạn chọn duy trì một phiên, thơng tin phiên sẽ được lưu trong cơ sở dữ
liệu cục bộ để bạn có thể truy cập nó sau này và bạn sẽ có thể cung cấp tên và vị
trí tùy chỉnh để lưu tệp.

Hình 1.8: Thiết lập phiên làm việc
b) Thiết lập sử dụng Oswap Zap
Chọn Tools và tìm đến Options, sẽ có một màn hình khác xuất hiện trên màn
hình.

Hình 1.9: Thiết lập cài đặt
Tại đây, ta sẽ thiết lập Address và Port. Mặc định của Address là
localhost:8080, Port là 8080. Trường hợp đã có ứng dụng khác sử dụng cổng 8080
rồi, bạn có thẻ thay đổi một cổng khác tùy ý, sau đó lưu lại thiết lập.


Hình 1.10: Cấu hình proxy
c) Thiết lập Protected Mode
Owasp Zap hiện tại có 4 chế độ qt khác nhau:

Hình 1.11: Thiết lập Protected Mode
o Khi khởi động nó sẽ được đặt ở chế độ mặc định là Standard.
o Ta cần chuyển sang chế độ Protected Mode.
Vì sao lại vậy? Bởi nếu chọn các chế dộ mặc định Standard hoặc Attack thì
khảnăng cao là hacker sẽ tấn cơng vào trang web mà người dụng khơng quản lý
được. Nếu chọn Safe thì khơng Scan được tồn bộ lỗi hổng có trên web. Vì vậy
Protected Mode là lựa chọn tốt nhất.



Chương II. Sử dụng công cụ ZAP tiến hành khai thác
mục tiêu
I.

Giới thiệu công cụ hỗ trợ Burp Suite
Burp Suite là một tập hợp các cơng cụ được tích hợp chặt chẽ cho phép kiểm tra
bảo mật hiệu quả của các ứng dụng web hiện đại. Nó cung cấp một sự kết hợp tuyệt
vời của các công cụ cho phép quy trình làm việc tự động và thủ cơng để kiểm tra,
đánh giá và tấn công các ứng dụng web của tất cả hình dạng và kích thước. Bắt đầu
với Burp rất dễ dàng. Với một số ứng dụng, chúng ta có thể trở nên cực kỳ thoải mái
và có kỹ năng sử dụng các công cụ mạnh mẽ khác nhau được cung cấp bởi Burp
Suite.
Burp Suite là một phần mềm hiện đại được viết bằng ngôn ngữ Java. Java làm cho
nó đa nền tảng và cực kỳ linh hoạt để sử dụng cho cả người mới và chuyên gia. Điều
này chương sẽ giúp bạn bắt đầu nhanh chóng với Burp trong khi cung cấp cho bạn đủ
thông tin điều đó sẽ tạo điều kiện thuận lợi cho hành trình làm quen với Burp Suite
của chúng tôi. Công cụ, không giống như máy quét tự động trỏ và nhấp, được sử dụng
theo cách thực hành và mặc dù nó giúp dễ dàng tự động hóa các phần của thử nghiệm,
nhưng cơng cụ này có thể thực hiện được rất nhiều điều trong bàn tay của một chun
gia. Vì mục đích của chúng tơi là tối ưu hóa cách chúng tơi sử dụng Burp, thông qua
việc này chương, chúng ta sẽ biết một vài thủ thuật giúp bạn dễ dàng bắt đầu.
Nó có các mơ đun mạnh mẽ và được đóng gói với các phần mở rộng tùy chọn có
thể tăng hiệu quả kiểm tra ứng dụng web. Burp Suite là một công cụ pentest ứng dụng
web. Đây không phải là một cơng cụ “ăn sẵn” như Acunetix, mà nó chỉ hỗ trợ một số
việc cho tester trong quá trình pentest. Với một chút cố gắng, bất kỳ ai cũng có thể sử
dụng Burp Suite để kiểm thử các ứng dụng web. Các tính năng nâng cao của Burp sẽ
giúp tester nâng cao kỹ năng và trình độ của mình hơn nữa. Ngoài ra, giao diện của
Burp cũng rất trực quan và thân thiện. Chúng ta có thể nhìn rõ request được gửi
(Request) cũng như phản hồi từ phía server (Respone).

1) Một số tính năng nổi bật của Burpsuite
- Interception Proxy: được thiết kế để bắt các request từ đó có thể tùy ý sửa đổi
trước khi các request này được gửi lên server.
- Repeater: cho phép sử dụng một request trước đó và tùy sửa đổi nội dung
request một cách nhanh chóng nhiều lần khác nhau.
- Intruder: tự động hóa việc gửi hàng loạt các request có chứa các payload tương
tự nhau lên server.
- Decoder: decode và encode string theo các format khác nhau (URL, Base64,
HTML,…).
- Comparer: chỉ ra sự khác nhau giữa các requests/responses


-

Extender: API để mở rộng chức năng của Burp Suite. Bạn có thể download các
extensions thơng qua Bapp Store.
Spider & Discover Content: crawl link có trong ứng dụng web.
Scanner (chỉ có trong bản Pro): đây là một mơ đun khác mạnh mẽ, nó tự động
quét các lỗ hổng trong ứng dụng web (XSS, SQLi, Command Injection, File
Inclusion,…).

2) Các chức năng chính của Burp Suite
- Proxy Server
Để có thể sử dụng chức năng này, trước hết người dùng cần phải bật
Burpsuite lên, sau đó vào tab proxy và option đánh dấu vào ô Running (thường
mặc định sử dụng interface loopback 127.0.0.1 và cổng port 8080).
Người dùng cũng có thể chạy proxy server trên interface hoặc cổng khác
bằng cách dùng nút edit hoặc add để thay đổi và thêm interface chạy proxy
server. Khi đó, bạn có thể sử dụng Burpsuite để bắt các yêu cầu http được gửi
từ trình duyệt và phản hồi từ phía server. Để xem nội dung những gói tin vào

tab proxy và HTTP history.
-

Repeater
Chức năng này giúp khách hàng có thể tùy thay đổi và phát lại những yêu
cầu http khác nhau tới server. Đồng thời phân tích các phản hồi từ phía server
khi gửi các yêu cầu khác nhau. Để có thể sử dụng Burp repeater, hãy vào tab
repeater trong Burpsuite, lựa chọn mục tiêu ở góc phía trên bên phải. Sau đó
điền vào tên miền hoặc địa chỉ IP của mục tiêu và cổng port tương ứng (thông
thường sẽ là 80 đối với http và 443 với https.

-

Web spider
Đây là tính năng tự động duyệt web để xác định cấu trúc của một website.
Để có thể sử dụng web spider, hãy vào tab Target và Site map, sau đó click
chuột phải vào mục tiêu và lựa chọn spider this host.

II.

Tiến hành khai thác
1) Automated Scan
Bước 1:
Khi open App bạn sẽ được lựa chọn có lưu giữ lại Session hay không. Theo
mặc định, ZAP session sẽ được ghi vào đĩa ở HSQLDB với tên và location mặc
định. Nếu bạn lựa chọn khơng duy trì session, các tệp được ghi sẽ được xóa khi
thốt ZAP. Nếu bạn duy trì session, thơng tin sẽ được ghi lại, bạn sẽ có thể truy
cập lại tệp và tùy chỉnh tên và vị trí.



Bước 2:
Nhập URL của website mà bạn muốn check vào field URL to attack và click
Attack

Hình 2.1: Quick Scan automated
Zap sẽ scan tự động website mà bạn đã nhập và show các report các lỗ hỏng
tìm được ở Tab Alert. Các báo cáo được thể hiện theo từng loại lỗi hỏng và show
số lượng lỗi tìm được của từng lỗ hỏng và URL tìm ra nó. Các loại warming sẽ
khác nhau tùy thuộc vào trang web của bạn. Sau khi Scan hồn thành, ta có thể
thấy ở đây trang web bị các lỗ hổng : SQL Injection, XSS…

Hình 2.2: Alerts sau khi Scan xong
a) Khai thác 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 của các
ứng dụng. Được thực hiện bằng cách chèn thêm một đoạn SQL để làm sai lệnh đi
câu truy vấn ban đầu, từ đó có thể khai thác dữ liệu từ database. SQL injection có


thể cho phép những kẻ tấn công thực hiện các thao tác như một người quản trị
web, trên cơ sở dữ liệu của ứng dụng
Sự nguy hiểm của SQL Injection
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 hệ thống.
Thay đổi dữ liệu nhạy cảm của hệ thống.
Xóa dữ liệu nhạy cảm và quan trọng của hệ thống.
Người dùng có thể đăng nhập vào ứng dụng với tư cách người dùng khác,
ngay cả với tư cách quản trị viên.
o Người dùng có thể xem thơng tin cá nhân thuộc về những người dùng khác,
ví dụ chi tiết hồ sơ của người dùng khác, chi tiết giao dịch của họ,…
o Người dùng có thể sửa đổi cấu trúc của cơ sở dữ liệu, thậm chí xóa các

bảng trong cơ sở dữ liệu ứng dụng.
o Người dùng có thể kiểm sốt máy chủ cơ sở dữ liệu và thực thi lệnh theo ý
muốn.
o
o
o
o
o

Các phần dễ bị tấn cơng
o
o
o
o
o

Form đăng nhập
Form tìm kiếm
Form nhận xét
Bất kì trường lưu hoặc trường đầu vào của dữ liệu
Liên kết của website


Hình 2.3: Các kiểu tấn cơng SQL Injection
Bước 1.
Bạn có thể xem các thông tin chi tiết của lỗ hỏng bằng cách click vào một lỗ hỏng
bất kỳ từ tab Alert. Các dòng code gây ra lỗi sẽ được highlight như ảnh dưới đây. Ở
đây ta kiểm tra lỗi SQL Injection.



Hình 2.4: Thơng tin chi tiết Request
Bước 2.
Sau khi xác định đây là lỗi SQL Injection cho phép Bypass Authencation. Ta sử
dụng burp suite để khai thác tự động.

Hình 2.5: Xác định POST tiến hành khai thác
Bước 3.
Ta chuyển sang chức năng Intruder để tự động hóa việc gửi hàng loạt các request
có chứa các payload tương tự nhau lên server.


Hình 2.6: Thiết lập Positions ở phần Intruder
Bước 4.
Thêm payload và tiến hành gửi request tự động.

Hình 2.7: Chọn payload để khai thác tự động
Bước 5.
Sau khi hoàn thành ta kiểm tra các request và tiến hành Login Bypass Authencation.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×