Access-management dashboard without a login
I found an access-management dashboard that didn’t require a login. When the first address stopped working, I found another.
Resolved · Medium
I work with community gardens and design landscapes for a living. I’m self-taught in security. Here are some of my reports and challenges.
Findings I submitted to bug bounty and disclosure programs.
I found an access-management dashboard that didn’t require a login. When the first address stopped working, I found another.
Resolved · Medium
My first production finding exposed the Acquia/Solr route behind a public search page. The same pattern later gave me three very different experiences with triage.
Resolved · Low
I used reflected XSS to obtain a session token, then read and change my test account’s profile.
Duplicate · Medium
I reported a shared conversation that imported active content into a signed-in workspace. The program closed it as intended behavior.
Won't fix · S3 (P4)
I traced a Base64-encoded payload in a URL parameter through to full HTML/CSS injection. The injected content could trigger outbound requests to arbitrary external endpoints. The report passed program review and was accepted at low severity.
Accepted · Low
I used Tor and Burp to test a web app’s authentication limits. Changing Tor identity gave me roughly 15 more password attempts against the same account and let me send additional password-reset emails.
Duplicate
Other investigations and unfinished attempts.
I automated scans of public AI repositories and their Git history with TruffleHog. The scans found dozens of valid keys.
Informative · N/A
CTF and Dojo challenges. Write-ups are linked when available.
I used a UTF-8 byte-count mismatch to smuggle JSON syntax past a filter and replace the ORM query.
Resolved · Medium (5.3)
I followed a Base64-decoded gallery parameter into a MySQL query, enumerated the challenge database, and retrieved the flag.
Resolved · Medium
I used a cross-site request to make the challenge administrator share their private vault.
Resolved · Medium
The validator and email parser read the same address differently. I used that mismatch to reach an ERB template injection.
Resolved · High (7.5)
I used a known README file to sign an admin JWT, then read the challenge flag through an M3U8 playlist.
Resolved · Medium (5.3)