RatDesk is a customer-support platform. Everything a customer submits — tickets, contact messages, profile details, order notes, uploads — is reviewed by staff inside internal dashboards you cannot see: the agent ticket viewer, the admin user list, an analytics log, the CRM, a fulfillment board, and a file browser.
Blind XSS is stored XSS whose sink you never see. Your payload sits in a queue until some staff member opens the internal tool that renders it. You get no reflection, no alert box, no error — the only signal that it fired is an out-of-band callback your payload makes when it executes. That is why real blind-XSS hunting uses a collector (XSS Hunter, interactsh, a Burp Collaborator, your own server).
This lab is self-contained: it ships its own collector, so you do not need any external service. Point your payloads at:
/m04/collector?id=<your-unique-id>
Any resource load or script whose src/fetch hits that URL counts as an executing callback. A plain-text mention does not — it has to actually try to load, the way a browser would. Example shape of a remote-loader payload (choose your own unique id):
<img src="/m04/m04/collector?id=t1cket-AbC123">
Every callback shows up on the Collector Log with its id and a timestamp.
User-Agent and Referer, not just form fields.id= (e.g. ticket-…, ua-…, ref-…). When a callback arrives you will know exactly which injection point fired.You never see it fire — the callback is your proof.
Six reach a staff sink through the visible pages; two more ride in on your request headers with any submission:
| # | Injection point | Reach it from |
|---|---|---|
| 1 | Support ticket body | Submit a ticket |
| 2 | Display name | Profile |
| 3 | User-Agent header | set the header on any submission |
| 4 | Referer header | set the header on any submission |
| 5 | Contact / feedback message | Contact |
| 6 | Order / note field | Submit a ticket (order note) |
| 7 | Uploaded filename | Profile (avatar upload) |
Tip: headers are just another input. From the CLI you might do something like -H "User-Agent: <img src=/m04/collector?id=ua-XXXX>" on any request that submits a form.