Trong lĩnh vực bảo mật an ninh mạng, lỗ hổng web là cửa ngõ để tin tặc khai thác và thực hiện những cuộc tấn công mạng nhằm gây ra những tổn thất nặng nề cho doanh nghiệp. Vì thế, việc chống lại khai thác lỗ hổng web/App là điều cần thiết để đảm bảo an toàn cho website của khách hàng.
OWASP ZAP là gì?
Top 10 OWASP là cụm từ rất phổ biến trong lĩnh vực công nghệ thông tin. Tuy nhiên khái niệm về OWASP lại rất ít khi được đề cập đến. Vậy OWASP là gì?
OWASP là viết tắt của Open Web Application Security Project, đây là một tổ chức phi lợi nhuận quốc tế chuyên về bảo mật ứng dụng web. Hiện tại, OWASP đang cung cấp các bài viết, phương pháp, tài liệu, công cụ cũng như hệ thống công nghệ trong lĩnh vực bảo mật ứng dụng website. Đây là nguồn dữ liệu vô cùng lớn cho các nhà phát triển và nhà công nghệ bảo mật web.
các bạn tham khảo thêm tại: https://www.zaproxy.org/
OWASP ZAP dùng để làm gì?
OWASP ZAP là công cụ dùng để kiểm tra lỗ hổng bảo mật được sử dụng phổ biến trên thế giới. OWASP ZAP sẽ giúp các lập trình viên và chuyên viên bảo mật phát hiện được các lỗ hổng mà website đang gặp phải. Ngoài ra, OWASP ZAP còn có thể thực hiện được nhiều tác vụ khác bao gồm quét các yêu cầu (request) website hay ngăn chặn, sửa đổi và chuyển tiếp các yêu cầu web giữa trình duyệt và ứng dụng web.
Cài đặt OWASP ZAP trên ubuntu
Trước tiên chúng ta cần chạy update các package:
$ sudo apt-get update
Cài đặt zaproxy qua snap:
$ sudo snap install zaproxy --classic
Sau khi cài đặt xong chúng ta cần kiểm tra xem ZAP được cài ở đâu với câu lệnh:
$ locate zap.sh
output:
/opt/zaproxy/zap.sh
/opt/zaproxy/.install4j/install4j_165jh5m-zap.sh.desktop
/snap/zaproxy/16/zap.sh
/usr/local/bin/zap.sh
/usr/share/applications/install4j_165jh5m-zap.sh.desktop
Để biết các câu lệnh và cách thực hiện chạy scan của ZAP chúng ta dùng lệnh sau:
$ zap.sh -help
Cách quét một website với ZAP thông qua dòng lệnh.
vì là chúng ta cài đặt trên server Ubuntu nên sẽ không có UI để vào kiểm tra và scan, vì vậy chúng ta cần phải scan website thông qua giao diện dòng lệnh ( command line ).
khi chạy lệnh zap.sh -help chúng ta đã biết được các option của zap, với command line chúng ta sẽ sử dụng -daemon
Câu lệnh thực hiện sẽ như sau:
$ zap.sh -daemon -quickurl https://example.com -quickout /home/dell/zapscan-result.html -quickprogress
ở đây:
- -quickurl <target url>: url website mà Zap sẽ quét
- -quickout <filename>: tên file output mà zap sẽ ghi ra cho chúng ta kết quả (HTML/JSON/MD/XML)
- -quickprogress: hiển thị thanh tiến trình khi thực hiện quét
Lưu ý: quá trình quét có thể sẽ mất thời gian và tốn tài nguyên của server.
Fix lỗi zap.sh: command not found
khi các bạn cài đặt zaproxy theo như trên sẽ có trường hợp các package không được cài đặt đầy đủ, và khi chạy lệnh zap.sh -help sẽ có thông báo lỗi zap.sh: command not found.
để khắc phục lỗi này trước tiên chúng ta cần cài đặt thêm jre:
$ sudo apt install default-jre -y
Sau đó truy cập vào thư mục cài đặt của zaproxy
$ cd /snap/zaproxy/current
Tại đây chúng ta có thể chạy scan với lệnh như sau:
$ java -jar zap-2.12.0.jar -daemon -quickurl https://example.com -quickout /root/zapscan-result.html -quickprogress
Fix lỗi không chạy được ZAP
Khi các bạn đã cài đặt Zap bằng snap và đã thử như trên vẫn không được thì chứng tỏ vẫn chưa cài đặt thành công
Lỗi có thể như sau:
Lúc này bạn cần làm theo các bước sau:
1. Remove Zap đã cài bằng snap:
$ sudo snap remove zaproxy
2. Remove thư mục .ZAP ở root folder.
$ sudo rm -rf .ZAP, .ZAP_D
3. Build ZAP với Zap sources.
https://www.zaproxy.org/docs/developer/quick-start-build/
Bạn cần clone 2 repository là zaproxy và zap-extensions về thư mục home.
đảm bảo 2 thư mục này cùng cấp với nhau:
$ git clone https://github.com/zaproxy/zaproxy.git $ git clone https://github.com/zaproxy/zap-extensions.git
Chúng ta sẽ di chuyển vào thư mục zap-extensions để cài đặt các add-on (các plugins ) của ZAP
$ cd zap-extensions
$ ./gradlew tasks
các bạn chờ sau khi build success thì chúng ta chạy lệnh dưới đây để copy các extensions core của zap
$ ./gradlew copyMandatoryAddOns
Tiếp theo chúng ta cần di chuyển ra thư mục zaproxy và chạy ZAP:
$ cd zaproxy
$ ./gradlew run
chờ sau khi gradle chạy xong chúng ta di chuyển ra thư mục home và chạy zap.sh -help để xem kết quả.
Như vậy là chúng ta đã cài đặt thành công :))
giờ chúng ta có thể sử dụng được command này để quét
$ zap.sh -daemon -quickurl https://example.com -quickout /home/dell/zapscan-result.html -quickprogress
Chúc các bạn thành công.
Bài sau chúng ta sẽ setup zap auto scan và email kết qủa về cho quản trị admin

