[<prev] [next>] [day] [month] [year] [list]
Message-ID: <528AD9E1.3000907@vulnerability-lab.com>
Date: Tue, 19 Nov 2013 04:24:17 +0100
From: Vulnerability Lab <research@...nerability-lab.com>
To: full-disclosure@...ts.grok.org.uk
Subject: Paypal Inc Bug Bounty #47 ALYZ - Persistent
Search Vulnerability
Document Title:
===============
Paypal Inc Bug Bounty #47 ALYZ - Persistent Search Vulnerability
References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=807
PayPal Security UID: dx1f89rtd
Release Date:
=============
2013-11-19
Vulnerability Laboratory ID (VL-ID):
====================================
807
Common Vulnerability Scoring System:
====================================
3.5
Product & Service Introduction:
===============================
PayPal offers, both companies and individuals, a simple, quick and innovative solution of receiving money and making payments online.
In ten years time, this company has become an authority in this market. Online buyers, eBay vendors, online stores and even the
traditional offline companies. The number of users who trust PayPal with their transactions, continues to grow. 175 million PayPal
accounts worldwide are certainly proof of that. PayPal uses a unique and extremely advanced system to prevent fraud, which guarantees
a completely reliable and safe solution for real time payments online.
GP+ objectively analyzes and assesses the quality and find ablility of online stores and, at the same time, examines the possibilities to avoid
attrition in the sales process. The base of this analysis is formed by: Google, Yahoo! and Microsoft Live, the W3C, Lipperhey in house research,
governments, renowned trade publications, worldwide specialists pool and research done by PayPal into the characteristics of the most successful
online stores worldwide.
(Copy of the Vendor Homepage: https://www.paypal-gpplus.com/en/about/ )
Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered a persistent input validation vulnerability in the official Paypal Inc GP+ analyzing website web-application.
Vulnerability Disclosure Timeline:
==================================
2013-01-01: Researcher Notification & Coordination (Ibrahim Mosaad El-Sayed)
2013-01-03: Vendor Notification (PayPal Site Security Team - Bug Bounty Program)
2013-01-11: Vendor Response/Feedback (PayPal Site Security Team - Bug Bounty Program)
2013-11-15: Vendor Fix/Patch (PayPal Developer Team - Reward)
2013-11-19: Public Disclosure (Vulnerability Laboratory)
Discovery Status:
=================
Published
Affected Product(s):
====================
PayPal Inc
Product: GP+ - Application Service 2013 Q1
Exploitation Technique:
=======================
Remote
Severity Level:
===============
Medium
Technical Details & Description:
================================
A remote POST inject web vulnerability has been discovered in the official Paypal Inc GP+ analyzing website web-application.
The issue allows remote attackers to inject via POST method request own malicious persistent script codes to compromise the application.
The post inject web vulnerability is located in the `Search Queries` of the `settings` module in the analyzing page website.
The malicious code can be injected to the vulnerable `Search Queries` via POST method request. The attack vector is persistent
After the save the analyzing website automatically start the analysis and the malicious script code will execute occurs in the
3 vulnerable values `Overview`, `Settings`, and `Benchmark`. The security risk of the persistent web vulnerability in the settings
module is estimated as medium with a cvss (common vulnerability scoring system) count of 3.5(+).
Exploitation of the non-persistent vulnerability requires no privileged web application user account with low or medium user interaction.
Successful exploitation of the client-side cross site scripting web vulnerabilities results in session hijacking, client-side phishing,
client-side unauthorized/open (external) redirects and client-side manipulation of the exception module context.
Vulnerable Section(s):
[+] Paypal Inc - GP+ Service Application (https://www.paypal-gpplus.com/en/dashboard/all/)
Vulnerable Module(s):
[+] Analyze a new website > Settings
Vulnerable Parameter(s):
[+] Search Queries
Affected Module(s):
[+] OverView
[+] Settings
[+] OverView > Benchmark
Proof of Concept (PoC):
=======================
The persistent input validation web vulnerability can be exploited by remote attackers without privileged web application user account and
low user interaction. For security demonstration or to reproduce the security vulnerability follow the information below ...
Code Review: Proof of Concept #1
<tbody><tr class="hd">
<th class="hd-l topic"><strong>Keyword position</strong></th>
<th colspan="3" class="hd-c"><div class="icon google">Google</div></th>
<th colspan="3" class="hd-c"><div class="icon bing">Bing</div></th>
<th colspan="3" class="hd-r"><div class="icon yahoo">Yahoo</div></th>
</tr>
<tr>
<td class="subject keyword"><strong>""<h1>[PERSISTENT INJECTED SCRIPT CODE!]</h1>"</strong></td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td><td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
</tr>
<tr>
<td class="subject keyword">
<strong>""><[PERSISTENT INJECTED SCRIPT CODE!])"><[PERSISTENT INJECTED SCRIPT CODE!]>"</strong></td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
</tr>
<tr>
<td class="subject keyword"><strong>"http://[PERSISTENT INJECTED SCRIPT CODE!].com"</strong></td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
</tr>
<tr>
<td class="subject keyword">
<strong>""><[PERSISTENT INJECTED SCRIPT CODE!])"><[PERSISTENT INJECTED SCRIPT CODE!]>"</strong></td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
</tr>
<tr>
<td class="subject keyword no-border-b"><strong>"""</strong></td>
<td class="no-border-r no-border-b"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="number">-</td>
<td class="no-border-l"> </td>
</tr>
</tbody>
Code Review: Proof of Concept #2
<table class="title-bar-grey">
<tbody><tr class="hd">
<th class="hd-l topic"><p>Position<br>in:</p><div class="icon google">Google</div></th>
<th colspan="3" class="hd-c"><strong>You</strong> <p>vulnerability-lab.com</p></th>
<th colspan="3" class="hd-c"><strong>Competitor #1</strong> <p>aucegypt.edu</p></th>
<th colspan="3" class="hd-c"><strong>Competitor #2</strong> <p>vulnerability-lab.com</p></th>
<th colspan="3" class="hd-r"><strong>Competitor #3</strong> <p>zabatme.com</p></th>
</tr>
<tr><td class="subject keyword"><strong>""<h1>[PERSISTENT INJECTED SCRIPT CODE!]</h1>"</strong></td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
</tr>
<tr><td class="subject keyword"><strong>""><[PERSISTENT INJECTED SCRIPT CODE!])"></iframe>[PERSISTENT INJECTED SCRIPT CODE!]"</strong></td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
</tr>
<tr><td class="subject keyword"><strong>"http://[PERSISTENT INJECTED SCRIPT CODE!].com"</strong></td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
</tr>
<tr><td class="subject keyword"><strong>""><[PERSISTENT INJECTED SCRIPT CODE!])"></iframe>"</strong></td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
</tr>
<tr><td class="subject keyword no-border-b"><strong>""</strong></td>
<td class="no-border-r no-border-b"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r no-border-b"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r no-border-b"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
<td class="no-border-r no-border-b"> </td>
<td class="no-border-l no-border-r number">-</td>
<td class="no-border-l"> </td>
</tr>
</tbody></table>
Code Review: Settings - Listing (Search Queries)
<fieldset>
<legend>Search queries (optional):</legend>
<p>PayPal GP+ can determine the search engine ranking of your website and optimization for certain search query.
Enter 5 search queries you want your website to be found for.</p>
<label for="searchquerie1">Search query 1:</label><input name="settings[searchquerie1]" id="searchquerie1"
class="textbox" maxlength="80" value="[PERSISTENT INJECTED SCRIPT CODE!]" <h1="" type="text">[PERSISTENT INJECTED SCRIPT CODE!]" /><br>
<label for="searchquerie2">Search query 2:</label><input name="settings[searchquerie2]" id="searchquerie2" class="textbox"
maxlength="80" value="" type="text"><[PERSISTENT INJECTED SCRIPT CODE!])"></iframe>[PERSISTENT INJECTED SCRIPT CODE!]" /><br>
<label for="searchquerie3">Search query 3:</label><input name="settings[searchquerie3]" id="searchquerie3" class="textbox"
maxlength="80" value="http://[PERSISTENT INJECTED SCRIPT CODE!]" type="text"><br>
<label for="searchquerie4">Search query 4:</label><input name="settings[searchquerie4]" id="searchquerie4" class="textbox" maxlength="80"
value="" type="text"><[PERSISTENT INJECTED SCRIPT CODE!];)"></iframe>" /><br>
<label for="searchquerie5">Search query 5:</label><input name="settings[searchquerie5]" id="searchquerie5" class="textbox"
maxlength="80" value="" "="" type="text"><br>
</fieldset>
Reference(s):
https://www.paypal-gpplus.com/en/dashboard/analysis/2727761/
Solution - Fix & Patch:
=======================
2013-11-01: Vendor Fix/Patch (PayPal Developer Team - Reward)
Security Risk:
==============
The security risk of the persistent input validation web vulnerabilities are estimated as medium.
Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Ibrahim El-Sayed (the_storm) [ibrahim@...lution-sec.com] [iel-sayed.blogspot.com]
Disclaimer & Information:
=========================
The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties,
either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-
Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business
profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some
states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation
may not apply. We do not approve or encourage anybody to break any vendor licenses, policies, deface websites, hack into databases
or trade with fraud/stolen material.
Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.evolution-sec.com
Contact: admin@...nerability-lab.com - research@...nerability-lab.com - admin@...lution-sec.com
Section: www.vulnerability-lab.com/dev - forum.vulnerability-db.com - magazine.vulnerability-db.com
Social: twitter.com/#!/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab
Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php
Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory.
Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other
media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and
other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed),
modify, use or edit our material contact (admin@...nerability-lab.com or research@...nerability-lab.com) to get a permission.
Copyright © 2013 | Vulnerability Laboratory [Evolution Security]
--
VULNERABILITY LABORATORY RESEARCH TEAM
DOMAIN: www.vulnerability-lab.com
CONTACT: research@...nerability-lab.com
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
Powered by blists - more mailing lists