Document Title:
===============
Saveya Bounty #1 - Bypass & Persistent Vulnerability
References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1857
SaveYa ID: 56
Acknowledgements: https://www.saveya.com/white-hat-program-acknowledgements
Release Date:
=============
2016-07-25
Vulnerability Laboratory ID (VL-ID):
====================================
1857
Common Vulnerability Scoring System:
====================================
4
Vulnerability Class:
====================
Cross Site Scripting - Persistent
Product & Service Introduction:
===============================
As one of the leading gift card exchanges, SaveYa passes along the savings to you by buying unwanted gift cards. In turn, gift cards from many popular
retailers are sold at a discount, below face value, and you can save big time on your everyday or one time expenses. Browse or search our extensive list
of discounted gift cards for today’s most popular retailers before you make that next big purchase. If you are a shopper on the go, you can download our
discount gift card app to save even more instantly. Our one of a kind savings app alerts you before checkout in order to take advantage of potential
savings by buying discounted gift cards.
(Copy of the Vendor Homepage: https://www.saveya.com/ )
Abstract Advisory Information:
==============================
The vulnerability laboratory core research team discovered an application-side input validation vulnerability and filter bypass issue in the Saveya web-application.
Vulnerability Disclosure Timeline:
==================================
2016-06-15: Researcher Notification & Coordination (Benjamin Kunz Mejri)
2016-06-17 Vendor Notification (Saveya Security Team - Bug Bounty Program)
2016-06-18: Vendor Response/Feedback (Saveya Security Team - Bug Bounty Program)
2016-07-25: Vendor Fix/Patch (Saveya Site Service Developer Team)
2016-07-26: Public Disclosure (Vulnerability Laboratory)
Discovery Status:
=================
Published
Affected Product(s):
====================
Saveya
Product: Saveya - Online Service (Web-Application) 2016 Q2
Exploitation Technique:
=======================
Remote
Severity Level:
===============
Medium
Technical Details & Description:
================================
An application-side input validation and mail encode web vulnerability has been discovered in the official Saveya online service web-application.
The application-side vulnerability allows remote attacker to inject own malicious script codes to the application-side of the vulnerable module or function.
The vulnerability is located in the `Firstname` and `Lastname` parameter values of the `./Register` module POST method request. Remote attackers are able
to inject own malicious script codes to the application-side of the profile values. After the registration a confirm and verification email is send by the
service with the firstname and lastname values in the message body. Thus values are wrong encoded and can execute persistent injected script codes.
Exploitation of the persistent input validation web vulnerability requires no privileged web-application user account and low or medium user interaction.
Successful exploitation of the vulnerability results in session hijacking, persistent phishing attacks, persistent external redirects to malicious source
and persistent manipulation of affected or connected application modules.
Request Method(s):
[+] POST
Vulnerable Module(s):
[+] Register - Account Registration SaveYa
Vulnerable Parameter(s):
[+] Firstname
[+] Lastname
Affected Module(s):
[+] Verify Email
[+] Account Congratulation Email
Proof of Concept (PoC):
=======================
The persistent vulnerability can be exploited by remote attackers without privileged web-application user account and with low user interaction.
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.
Manual steps to reproduce the vulnerability ...
1. Open the Saveya website
2. Click to Signup module
3. The registration form opens
4. Inject random values and a target attack email to include via POST
5. Inject to the Firstname and Lastname input field values your own malicious script code
6. Save the request via POST submit
7. Check the inbox
8. First the email of the verify arrives and after that the email congratulation account to verify
Note: In both emails the persistent injected script code executes in the message body context
9. Successful reproduce of the remote mail encode web vulnerability and input validation issue
PoC #1: Welcome Email