Two XSS vulnerabilities in Simple Security WordPress Plugin

2014-12-17T00:00:00
ID HTB23244
Type htbridge
Reporter High-Tech Bridge
Modified 2014-12-17T00:00:00

Description

High-Tech Bridge Security Research Lab discovered two XSS vulnerabilities in Simple Security WordPress plugin, which can be exploited to perform Cross-Site Scripting attacks against administrators of WP websites with the vulnerable plugin.

1) Two Cross-Site Scripting (XSS) Vulnerabilities in Simple Security Wordpress Plugin: CVE-2014-9570

The discovered vulnerabilities can be used by attackers to steal administrator's cookies of a vulnerable website. This can lead to total website compromise.

Attackers can also perform drive-by-download attacks against website admin by injecting malware or exploit-packs into vulnerable scripts.

1.1 User-supplied input passed via the "datefilter" HTTP GET parameter to "/wp-admin/users.php" script is not properly sanitised before being returned to the administrator. A remote attacker can trick a logged-in administrator to open a specially crafted link and execute arbitrary HTML and script code in his browser in the context of the vulnerable website.

The exploitation example below uses the "alert()" JavaScript function to display "ImmuniWeb" word:

http://[host]/wp-admin/users.php?page=access_log&datefilter=%27%22%3E%3Cscri pt%3Ealert%28/ImmuniWeb/%29;%3C/script%3E

1.2 User input passed via the "simple_security_ip_blacklist[]" HTTP POST parameter to "/wp-admin/users.php" script is not properly filtered before being returned to the administrator. A remote attacker can trick a logged-in administrator to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.

Below we provide a basic XSS exploit that uses JS "alert()" function to display "ImmuniWeb" pop-up:

<form action="http://[host]/wp-admin/users.php?page=ip_blacklist" method="post" name="main">
<input type="hidden" name="page" value="access_log">
<input type="hidden" name="action" value="add_blacklist_ip">
<input type="hidden" name="simple_security_ip_blacklist[]" value="'><script>alert('ImmuniWeb');</script>">
<input type="submit" id="btn">
</form>