🤬
..
README.md Loading last commit info...
README.md

Target First Plugin 2.0 - Unauthenticated Stored XSS via Licence Key

Description

The Target First WordPress Plugin, also previously known as Watcheezy, suffered from a critical unauthenticated stored XSS vulnerability.

An attacker could change the licence key value through a POST on any URL with the "weeWzKey" parameter that will be save as the "weeID" option. The input value is not sanitized. Authentication and credentials are not verified by the plugin.

Moreover, the licence key value (weeID) is appended in the page footer on every page of the website without URL sanitization:

echo "\n<script type="text/javascript" src="//www.watcheezy.net/deliver/targetfirst.js?wzkey=".get_option('weeID')."" async defer>\n";

Note: The vendor released a fix, as version 1.0, instead of 2.1 or 3.0 (go figure ...)

Proof of Concept

curl -X POST https://mysite.com/ -d 'weeWzKey="></script><script>alert(1)</script>'
Please wait...
Page is in error, reload to recover