XS-Leak Browser Test Suite
Xsinator.com is an XS-Leak browser test suite that was created for the paper XSinator.com: From a Formal Model to the Automatic Evaluation of Cross-Site Leaks in Web Browsers.
- Clone the repository
- Configure domains in
src/config.js:const MAIN_DOMAIN = 'xsinator.com' const CROSSORIGIN_DOMAIN = 'crossorigin.xsinator.xyz' const WS_DOMAIN = 'ws.xsinator.com'
- Build javascript:
npm install && npm run build - Copy
.env.exampleto.envand update domains - Create the shared docker network:
docker network create net-xsinator docker-compose up -d
The application is designed to run behind a Traefik reverse proxy:
- Requires an external
net-xsinatornetwork, shared with Traefik - Traefik has to provide the
web(80) andwebsecure(443) entrypoints, aredirect-to-https@dockermiddleware and acloudflarecertresolver - SSL/TLS is handled by Traefik, nginx only listens on port 80
- Three domains required: main, cross-origin, and websocket
DNS records needed:
MAIN_DOMAIN-> server IPCROSSORIGIN_DOMAIN-> server IPWS_DOMAIN-> server IP
/app/index.html- test runner (landing page)/app/results.html- browser comparison table/app/testcases- php testcases/src- javascript src/ws- go websocket server/nginx- webserver config