Appointment
Autore: Lord Shiva • Aggiornamento: 09.01.2023 • Tempo di lettura: 03 min.
Questa macchina ci aiuterà a comprendere meglio come effettuare un'SQL Injection.
Come sempre iniziamo ad analizzare la macchina scansionandola con nmap.
$ nmap -sV -sV -p- {ip_o_dominio_in_target}
L'opzione -sC viene utilizzata per eseguire la scansione degli script utilizzando il set predefinito di script. Lo -sVswitch viene utilizzato per visualizzare la versione dei servizi in esecuzione sulle porte aperte.
Dalla scansione nmap, possiamo vedere che la porta 80 è aperta e sta eseguendo il server Apache httpd con la versione 2.4.38
Il server Apache httpd viene utilizzato per l'esecuzione di pagine Web su server Web fisici o virtuali. Se digitiamo l'indirizzo IP della macchina nella barra degli indirizzi del nostro browser, possiamo vedere un sito Web con un form di accesso.
Solitamente in un form di accesso la query di accesso è: SELECT * FROM users WHERE username='$username' AND password='$password’
$username viene sostituito da quello che andremo a scrivere nel form così come $password. Per provare a fare un SQL Injection, potremo scrivere nel campo username admin'# oppure in entrambi i campi ' OR 1='1
In questo caso la query sarà trasformata nel seguente modo:
1° CASO -> SELECT * FROM users WHERE username='admin'#' AND password='$password’
2° CASO -> SELECT * FROM users WHERE username='' OR 1='1' AND password='' OR 1='1’
In entrambi i casi è possibile eseguire un injection sull'SQL della macchina.
Adesso possiamo rispondere ad alcune domande:
Domanda 1: Cosa significa l'acronimo SQL?
Structured Query Language
Domanda 2: Qual'è la vulnerabilità più diffusa in SQL?
SQL Injection
Domanda 3: Cosa significa PII?
Personally Identifiable Information
Domanda 4: Qual è la classificazione OWASP Top 10 del 2021 per questa vulnerabilità?
A03:2021-Injection
Domanda 5: Cosa riporta Nmap come servizio e versione in esecuzione sulla porta 80 del target?
Apache httpd 2.4.38 ((Debian))
Domanda 6: Qual è la porta standard utilizzata per il protocollo HTTPS?
443
Domanda 7: Come si chiama una cartella nella terminologia delle applicazioni Web?
directory
Domanda 8: Qual è il codice di risposta HTTP fornito per gli errori "Non trovato"?
404
Domanda 9: Gobuster è uno strumento utilizzato per forzare le directory su un server web. Quale opzione utilizziamo con Gobuster per specificare che stiamo cercando di scoprire le directory e non i sottodomini?
dir
Domanda 10: Quale singolo carattere può essere utilizzato per commentare il resto di una riga in MySQL?
#
Domanda 11: Se l'input dell'utente non viene gestito con attenzione, potrebbe essere interpretato come un commento. Usa un commento per accedere come amministratore senza conoscere la password. Qual è la prima parola sulla pagina web restituita?
Congratulations
Domanda 12: Invia la Flag
e3d.........................672