Tìm XSS sử dụng Burp và PhamtomJS
Bài đăng này đã không được cập nhật trong 4 năm
XSS là lỗi vẫn rất phổ biến trên ứng dụng Web. Vì vậy, trong này này ta sẽ tìm hiểu cách tìm lỗi XSS sử dụng công cụ Burp suite kết hợp cùng PhantomJS.
Kiến thức bổ trợ
Trước khi đi vào chi tiết các sử dụng các công cụ để tìm lỗi XSS ta cần làm rõ 2 điều sau:
- Lỗi XSS là gì?
- PhantomJS là gì
PhantomJS là gì?
PhantomJS đã không còn được phát triển nữa.
Bài này sẽ không nói chi tiết về PhantomJS, để cho dễ hiểu thì PhantomJS như trình duyệt của ta. Điểm đặc biệt quan trọng là PhantomJS sử dụng thông qua dòng lệnh và ta lập trình cho nó để có thể tương tác với các request và response của HTTP/S.
Để có thêm cái nhìn về PhantomJS hay vào bài PhantomJS là gì?. Hoặc đọc bằng tài liệu tiếng anh trên wiki PhantomJS.
Lỗi XSS là gì
Trong bài Lỗ hổng Cross-Site Scripting (XSS) đã viết đầy đủ về lỗi XSS này. Nếu chưa biết về XSS là gì, hãy qua đó đọc trước để có cái nhìn tổng quan về chúng.
Cài đặt công cụ
1. Cài đặt extension XSS Validator
Nếu trên máy chưa có Burp suite hãy làm theo hướng dẫn tại trang chủ: https://portswigger.net/support/getting-started-with-burp-suite
Sau khi đã cài Burp, tiếp tục đến phần cài đặt extension XSS validator. Mở BApp Sotre: Extender -> BApp Store
Kết quả được hiển thị như trên hình, để cài đặt XSS validator ta chọn Install. Vậy là hoàn thành bước đầu tiên!
2. Cài đặt PhantomJS
Để tải và cài đặt PhantomJS vào địa chỉ sau https://phantomjs.org/download.html
PhantomJS hỗ trợ các nên tảng sau: Windows, macOS, Linux, vàFreeBSD.
Nếu máy tính đang sử dụng là Linux thì ta có thể cài nhanh bằng câu lệnh
sudo apt install -y phantomjs
3. Tải file server chạy cho PhantomJS
Sử dụng lệnh sau để clone repo xssvalidator về
git clone https://github.com/nVisium/xssValidator.git
Demo
Trong phần này giả sử ta đã biết sử dụng cơ bản Burp suite.
Đầu tiên ta phải chạy xss server.
cd xssValidator/
cd xss-detector/
phantomjs xss.js
Bước tiếp theo, ta chạy Burp suite và chuyển intercept sang chế độ off.
Tiếp đó ta vào trang có chứa đường link nghi vấn XSS. Như trong ví dụ ở đây, ta sử dụng lab XSS của portswigger.
Ta tiến hành điền dữ liệu và gửi, sau đó vào trong HTTP history của burp và xem thông tin request.
Gửi request chứa đường link nghi vấn XSS trang Intruder của Burp bằng cách nhấn tổ hợp phím ctrl + R. Chỉnh sửa lại chỉ nhận 1 payload là phần search trên url.
Tiếp đó, ta tiến hành cấu hình payload XSS. Trong tab Payloads, ta sửa Payload type thành Extension-generated
Sửa Payload Options, chọn Select generator ... và chọn XSS validator Payloads.
Chỉnh sửa phần Payload Processing, Chọn Add -> Invoke Burp extension -> XSS Validator.
Trong phần Options ta sử phần Grep-Math để Burp tích những payload hoạt động từ đó ta sẽ biết được link đó có bị XSS hay không. Đầu tiên clear hết nội dung, và thêm vào giá trị sau: fy7sdufsuidfhuisdf
Cuối cùng nhấn Start để bắt đầu tấn công và kiểm tra kết quả. Nếu có xuất hiện phần tích như trong hình dưới là link đó bị lỗi XSS.
Vậy là phần tìm hiểu của ta kết đây là kết thúc!
All rights reserved