mandatoryprogrammer / mandatoryprogrammer/xsshunter

Including the collector script multiple times causes race conditions

Open
#22 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
1.6k
Forks
302
PR merge metrics
No merged PRs in 30d

Description

Basically when I include the script two times I get two e-mails, but with the same Probe UUID and Injection Key.

The solution is simple: wrap all of your own code (below the dependencies) in a IIFE. This way variables such as probe_return_data or contact_mothership are not in the global scope and don't mess with each other.

It's not critical, since at least something is collected and it does not crash. But I consider including it multiple times common in Blind XSS, since fields like first name, last name, bio, etc. might be rendered at the same time.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue does not name a file or test. Locate the collector script and inspect the code below its dependencies, then verify that including it twice produces independent Probe UUID and Injection Key results without duplicate emails or interference.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
security
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.