Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 3629|Risposta: 1

Usa lo strumento di infiltrazione SQLMAP per il test di iniezione SQL

[Copiato link]
Pubblicato su 17/06/2023 11:10:55 | | | |
Requisiti: Utilizzare lo strumento open source di penetration testing sqlmap per testare le interfacce dei siti web alla ricerca di rischi di iniezione. L'iniezione SQL significa che l'applicazione web non giudica la legittimità dei dati di input dell'utente o il filtraggio non è rigoroso, e l'attaccante può aggiungere ulteriori istruzioni SQL alla fine della query definita in anticipo nell'applicazione web, e implementare operazioni illegali senza la conoscenza dell'amministratore, al fine di ingannare il server di database e farlo eseguire query arbitrarie non autorizzate, al fine di ottenere ulteriormente le informazioni sui dati corrispondenti. In breve, èL'interfaccia backend esegue istruzioni SQL unendo insieme i parametri richiesti

Recensione:

EF 6 esegue istruzioni SQL native, problemi di iniezione di parametri
https://www.itsvse.com/thread-10610-1-1.html

EF Core Series (5) esegue istruzioni o viste SQL, stored procedure
https://www.itsvse.com/thread-9565-1-1.html

C# Parameterized Parameters utilizza sp_executesql per eseguire istruzioni SQL
https://www.itsvse.com/thread-3111-1-1.html

Libro di iniezione SQL - Vulnerabilità ASP Injection Full Contact
https://www.itsvse.com/thread-2305-1-1.html

SQLMAP è uno strumento open-source di penetration testing che automatizza il processo di rilevamento e sfruttamento delle vulnerabilità di SQL injection e la presa in controllo dei server di database. È dotato di un potente motore di rilevamento, molte funzionalità di nicchia del tester di penetrazione definitivo e di una vasta gamma di switch, tra cui fingerprinting di database, prelievo di dati dai database, accesso al file system sottostante ed esecuzione di comandi sul sistema operativo tramite connessioni fuori banda.

SQL Map funziona subito da zero e funziona su qualsiasi piattaformaPython versioni 2.6, 2.7 e 3.x

Costruzione dell'ambiente SQL Map

Download Python:Il login del link ipertestuale è visibile.



Indirizzo open source SQLMAP:Il login del link ipertestuale è visibile.
Documentazione dei comandi SQLMAP:Il login del link ipertestuale è visibile.

Prima, il computer deve installare Python (omesso), poi usare il comando git per scaricare il codice sorgente, come segue:



Opzioni:

-h, --aiuto Mostra messaggio di aiuto base ed esci -----Mostra messaggio di aiuto base ed esci
-hh Mostra messaggio di aiuto avanzato ed esci-----
--versione per vedere il numero di versione----------- Mostra il numero di versione del programma e esci
-v VERBOSO livello di dettaglio (0-6, predefinito 1) --Livello di verbosità: 0-6 (predefinito 1)

Bersaglio:

È necessario impostare almeno una delle seguenti opzioni per determinare l'URL di destinazione, ovvero: Almeno una delle seguenti opzioni deve essere inclusa nel comando di operazione SQLMap per poterla usare normalmente

-d Stringa di connessione DIRECT per connessione diretta al database-------------------
-u URL, --url=URL URL target --------------------- URL target (ad es. "http://www.site.com/vuln.php?id=1")
-l LOGFILE Parsizza il target dal file di log proxy di Burp o WebScarab ---- il target dal file di log di un Burp o altro proxy
-x SITEMAPURL analizza il target dal file remotemap(.xml) --Analizza il target dal file remote sitemap(.xml)
Scansiona più bersagli forniti in un file testuale -------- BULKFILE
-r REQUESTFILE Carica la richiesta HTTP da un file ---------------Carica la richiesta HTTP da un file
-g GOOGLEDORK Processa i risultati dei dork di Google come URL target---
-c CONFIGFILE Carica le opzioni da un file INI di configurazione -------------- Carica le opzioni da un file INI di configurazione

Richiesta:

Le seguenti opzioni specificano come connettersi all'URL di destinazione

--method=METHOD Forzare l'uso di un dato metodo HTTP (ad esempio PUT------------------
--data=DATA Stringa dati da inviare tramite POST usando il metodo POST------------------
--param-del=PARA..  Imposta il simbolo per separare i valori dei parametri-------------------- Carattere usato per la divisione dei valori dei parametri
--cookie=COOKIE specifica il valore del cookie HTTP ---------------------- il valore dell'intestazione del cookie HTTP
--cookie-del=COO..  Carattere usato per dividere i valori dei cookie------------------

Quando si testa un punto di iniezione usando SQLMAP, si può usare il parametro -v x per specificare la complessità delle informazioni sull'eco, che variano da [0~6] a 7 livelli, con un valore predefinito di 1.

0: Vengono mostrati solo errori python insieme alle informazioni critiche.
1: Visualizzare sia le informazioni di base che le informazioni di avviso. (predefinito)
2: Visualizzare le informazioni di debug contemporaneamente.
3: Il carico utile iniettato viene visualizzato contemporaneamente.
4: Visualizzare le richieste HTTP contemporaneamente.
5: Visualizzare contemporaneamente l'intestazione di risposta HTTP.
6: Visualizzare contemporaneamente la pagina delle risposte HTTP.

ASP.NET Configurazione dell'ambiente di iniezione del core

Crea un nuovo progetto web usando ASP.NET Core, scrivi un'interfaccia con iniezione e il codice sorgente è il seguente:


Interfaccia di test:



Test di penetrazione comunemente utilizzati

Enumerare i database DBMS

E usare SQL Server Profile per catturare l'esecuzione dell'SQL, come mostrato nella figura seguente:



seleziona * da [Utenti] dove [Username] = 'itsvse' UNION ALL SELECT NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(SELECT name FROM master.. sysdatabases PER JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'



Enumerare le tabelle del database specificato

Il comando è il seguente:



Per richieste HTTP complesse, puoitramite il parametro -r(Caricando le richieste HTTP dai file,Usa lo strumento Burp Suite per catturare le richieste HTTP dei pacchetti) per caricare la richiesta HTTP originale da un file di testo. Questo ti permette di saltare l'uso di molte altre opzioni (ad esempio impostazioni dei cookie, dati pubblicati, ecc.).

SQL Map è potente, consulta la documentazione per funzionalità più avanzate. (Fine)




Precedente:EF 6 esegue istruzioni SQL native, problemi di iniezione di parametri
Prossimo:[Trasferimento] su MySQL Advanced: ottimizza comando tabella
 Padrone di casa| Pubblicato su 17/06/2023 11:21:41 |
Cambialo con il seguente, non c'è rischio di iniezione SQL:

Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com