
Dimostrazione della vulnerabilità di SQL injection in wordpress 5.8.2
Questo repository dimostra una vulnerabilità in WordPress 5.8.2, in cui la mancata sanitizzazione in class-wp-tax-query.php può, in situazioni molto specifiche, consentire agli attaccanti di eseguire un'iniezione SQL. Nota che lo sfruttamento riuscito richiede che gli sviluppatori aggiungano codice vulnerabile all'istanza WordPress, in cui un input utente non sanitizzato viene passato a una variabile $terms che viene usata per costruire una funzione SQL. Vedi evil.php nel plugin "evil" incluso e la mancanza di sanitizzazione della variabile $terms in get_sql_for_clause in class-wp-tax-query.php.
Il plugin vulnerabile/malevolo si trova in src/wp-content/plugins/evil/evil.php.
Passaggi della dimostrazione sudo docker-compose up segui le istruzioni di installazione su localhost attiva il plugin wordpress nel pannello di amministrazione (si chiama evil plugin) Invia la richiesta in newexploit_req.txt al server appena creato. Dovresti ottenere un ritardo temporale. Nota che la vulnerabilità dimostrata dal plugin è un'iniezione SQL cieca, quindi se vuoi provare il recupero dei dati dovrai recuperarli tramite ritardi temporali o errori.
Note di debug sudo service docker restart se si verifica un errore di risoluzione dei nomi regola xdebug.client_host=172.19.0.1 in xdebug.ini se necessario