Phát hiện lỗ hổng XSS chính xác, nhanh gọn với Burp Suite và PhantomJS

XSS hiện nay là một loại lỗ hổng web ngày càng trở nên phổ biến và nguy hiểm. Trong bài này mình sẽ hướng dẫn các bạn cách tìm lỗ hổng web một cách nhanh chóng, tiện lợi và chính xác sử dụng Burp Suite và PhantomJS.

Yêu cầu:
  • Java 7.0 trở lên
  • PhantomJS (thông tin thêm tại http://phantomjs.org)
  • BurpSuite
  • Có kiến thức cơ bản về việc sử dụng Burp Suite và kiến thức về XSS
Trước tiên bạn cần tải file .jar này tại https://www.dropbox.com/s/fkuxovnhck...sValidator.jar . Lưu ý rằng file .jar này được xây dựng với điều kiện giả định rằng PhantomJS server đang được nghe trên 127.0.0.1:8093.

Cài đặt tiện ích mở rộng

Mở Burp Suite, điều hướng tới tab extender sau đó click nút Add, như hình dưới đây:



Chắc chắn rằng, loại của tiện ích mở rộng phải là Java, sau đó click Select file và chỉ tới đường dẫn file xssValidator.jar mà bạn vừa tải ở bước trên.



Click Add và một cửa sổ sẽ xuất hiện. Chắc chắn rằng không có bất kỳ một lỗi nào xảy ra khi click vào tab error. Nếu có lổi xảy ra thì khả năng cao là do bản java của bạn không phù hợp.

Sau khi thêm tiện ích mở rộng này, bạn sẽ nhìn thấy một items mới xuất hiện trong giao diện của Burp Suite Extensions, như hình dươi:



Chuẩn bị tấn công:

Tạo một Intruder attack cho yêu cầu mục tiêu. Xác định mục tiêu như bạn muốn và điều hướng tới tab Payload. Lựa chọn loại payload là extension-generated, như hình dưới:



Click vào Select Generator, và chọn XSS Validator Payload trong payload generator



Click Add và chọn Invoke Burp Extension thì menu thả xuống. Chọn XSS Validator processor, và click ok.



Xác định vị trí Payload, trong ví dụ này mình sử dụng file xsstest.php file có lỗ hổng XSS ở tham số GET.



Dưới tab options, điều hướng tới mục Grep - Match, và nhập ký tự "fy7sdufsuidfhuisdf"Ký tự này sẽ được trả về nếu lỗ hổng XSS được khai thác thành công.



Khởi động PhantomJS server, bằng việc điều hướng tới đường dẫn của phantomjs và khởi chạy phantomjs xss.js. Sau khi thực hiện lệnh này, bạn sẽ thấy như hình dưới:



Quay trở lại Burp Suite Intruder Attack và bắt đầu chạy tấn công. Payload mà kích hoạt thành công XSS sẽ được làm nổi bật bằng việc đánh dấu tích ở "fy7sdufsuidfhuisdf"flag, như hình dưới:



Để kiểm tra lại, bạn đơn giản chỉ cần lấy payload ở những dòng này và kích hoạt lại trên trình duyệt là ok.