## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SIMONSCHOENI-CVE-2020-7247-POC
* Premessa
* Fatti chiave sullo sfruttamento
* Installazione del server vulnerabile
* Configurazione
* Disclaimer sull'ambiente
* Exploit
* Sfruttamento manuale
* Sfruttamento tramite script
# Premessa
Questo repository dovrebbe servire come base per configurare e sfruttare CVE-2020-7247 in un ambiente controllato e privato. Tutto il codice e la configurazione pubblicati sono destinati esclusivamente al test di questa vulnerabilità e non per abusarne contro sistemi che non sono di tua proprietà o per i quali non hai il permesso di sfruttarli. Il proprietario di questo repository non è da ritenere responsabile per l'uso di questi strumenti da parte di terzi.
# Fatti chiave sullo sfruttamento
Il problema principale nel codice è che la validazione della mail non funziona. Permette il passaggio di caratteri potenzialmente pericolosi nei campi `MAIL FROM` e `RCPT TO`.
Se la parte locale dell'indirizzo email non è valida, viene trattata come valida perché il codice aggiunge la parte del dominio e la interpreta come valida successivamente. Ciò permette all'attaccante di eseguire codice arbitrario.
root@kitploit:~
2189 static int
2190 smtp_mailaddr(struct mailaddr *maddr, char *line, int mailfrom, char **args,
2191 const char *domain)
2192 {
....
2218 if (!valid_localpart(maddr->user) ||
2219 !valid_domainpart(maddr->domain)) {
....
2229 if (maddr->domain[0] == '\0') {
2230 (void)strlcpy(maddr->domain, domain,
2231 sizeof(maddr->domain));
2232 return (1);
2233 }
2234 return (0);
2235 }
2236
2237 return (1);
2238 }