lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ