[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Paypal Inc Bug Bounty #47 ALYZ - Persistent Search Vulnerability
- To: bugtraq@xxxxxxxxxxxxxxxxx, bugs@xxxxxxxxxxxxxxxxxxx
- Subject: Paypal Inc Bug Bounty #47 ALYZ - Persistent Search Vulnerability
- From: Vulnerability Lab <research@xxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 19 Nov 2013 04:24:06 +0100
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@xxxxxxxxxxxxxxxxx] [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@xxxxxxxxxxxxxxxxxxxxx -
research@xxxxxxxxxxxxxxxxxxxxx - admin@xxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxx or
research@xxxxxxxxxxxxxxxxxxxxx) to get a permission.
Copyright © 2013 | Vulnerability Laboratory
[Evolution Security]
--
VULNERABILITY LABORATORY RESEARCH TEAM
DOMAIN: www.vulnerability-lab.com
CONTACT: research@xxxxxxxxxxxxxxxxxxxxx