Từ những thiết kế như trên người viết xây dựng hệ thống với những class như sau:
Hình 30: Class diagram
Trình tự thực hiện chương trình như sau:
Đầu tiên chương trình đăng kí 2 sự kiện trên trình duyệt là: "http-on-modify- request" và "DOMContentLoaded”.
Hình 31: Mã đăng kí các sự kiện
Sự kiện "DOMContentLoaded” là sự kiện được kích hoạt khi document được tải xuống, lúc này ta sẽ lấy các script có trong văn bản hiện tại và lưu vào tập P. Quá trình lấy script như sau:
Hình 32: Quá trình lấy các script trong document
Sự kiện "http-on-modify-request" là sự kiện được kích hoạt mỗi khi trình duyệt gửi đi một yêu cầu. Khi đó ta thực hiện các chức năng sau:
Trong đó bộ lấy các script trong yêu cầu gửi đi để lưu vào tập D có cấu trúc như sau:
Khi lấy giá trị của các tham số ta chỉ lấy những giá trị có độ dài lớn hơn 155 kí tự. Bởi vì độ dài đó là tối thiểu để một XSS worm payload có thể thực hiện được chức năng của mình. Chức năng tối thiểu mà một XSS worm phải có là nhân bản chúng và gửi đi một yêu cầu HTTP. Thực tế XSS worm nhỏ nhất đã xuất hiện là MyYearBook worm với độ dài 769 kí tự.
Một vài hình ảnh về chương trình:
Hình 37: Hình ảnh chương trình khi cài đặt xong