Skip to content

paste: take the password and burn confirmation from a request body only - #227

Open
cgzones wants to merge 1 commit into
matze:masterfrom
cgzones:form-not-from-query
Open

cgzones wants to merge 1 commit into
matze:masterfrom
cgzones:form-not-from-query

Conversation

@cgzones

@cgzones cgzones commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Form reads the query string on GET and HEAD. On the paste and rendered views that let ?confirm_burn=1 skip the interstitial, so anything that merely follows a URL — an <img>, a prefetch, a link unfurler — burnt the paste. On those views and on /raw and /dl it let ?password= unlock an encrypted paste, putting the password into browser history, bookmarks, the Referer and every proxy log on the way.

The interstitial and the password prompt both post, so the views only read a posted form, and the Password extractor ignores the query; the wastebin-password header remains the way to send a password with a GET.

`Form` reads the query string on GET and HEAD. On the paste and rendered
views that let `?confirm_burn=1` skip the interstitial, so anything that
merely follows a URL — an `<img>`, a prefetch, a link unfurler — burnt the
paste. On those views and on `/raw` and `/dl` it let `?password=` unlock an
encrypted paste, putting the password into browser history, bookmarks, the
`Referer` and every proxy log on the way.

The interstitial and the password prompt both post, so the views only read
a posted form, and the `Password` extractor ignores the query; the
`wastebin-password` header remains the way to send a password with a GET.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant