what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

PayPal GP+ Cross Site Scripting

PayPal GP+ Cross Site Scripting
Posted Nov 19, 2013
Authored by Ibrahim El-Sayed, Vulnerability Laboratory | Site vulnerability-lab.com

PayPal GP+ suffered from a cross site scripting vulnerability.

tags | exploit, xss
SHA-256 | 82b4d2446d4e666d8de3ecba090bd79d3921f13222e99bdf744771566fa7f9c6

PayPal GP+ Cross Site Scripting

Change Mirror Download
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@evolution-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@vulnerability-lab.com - research@vulnerability-lab.com - admin@evolution-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@vulnerability-lab.com or research@vulnerability-lab.com) to get a permission.

Copyright © 2013 | Vulnerability Laboratory [Evolution Security]


--
VULNERABILITY LABORATORY RESEARCH TEAM
DOMAIN: www.vulnerability-lab.com
CONTACT: research@vulnerability-lab.com

Login or Register to add favorites

File Archive:

November 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Nov 1st
    30 Files
  • 2
    Nov 2nd
    0 Files
  • 3
    Nov 3rd
    0 Files
  • 4
    Nov 4th
    12 Files
  • 5
    Nov 5th
    44 Files
  • 6
    Nov 6th
    18 Files
  • 7
    Nov 7th
    9 Files
  • 8
    Nov 8th
    8 Files
  • 9
    Nov 9th
    3 Files
  • 10
    Nov 10th
    0 Files
  • 11
    Nov 11th
    14 Files
  • 12
    Nov 12th
    20 Files
  • 13
    Nov 13th
    63 Files
  • 14
    Nov 14th
    18 Files
  • 15
    Nov 15th
    8 Files
  • 16
    Nov 16th
    0 Files
  • 17
    Nov 17th
    0 Files
  • 18
    Nov 18th
    18 Files
  • 19
    Nov 19th
    7 Files
  • 20
    Nov 20th
    13 Files
  • 21
    Nov 21st
    6 Files
  • 22
    Nov 22nd
    48 Files
  • 23
    Nov 23rd
    0 Files
  • 24
    Nov 24th
    0 Files
  • 25
    Nov 25th
    60 Files
  • 26
    Nov 26th
    0 Files
  • 27
    Nov 27th
    44 Files
  • 28
    Nov 28th
    0 Files
  • 29
    Nov 29th
    0 Files
  • 30
    Nov 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close