Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 3629|Răspunde: 1

Folosește instrumentul de infiltrare SQLMAP pentru testarea injecției SQL

[Copiază linkul]
Postat pe 17.06.2023 11:10:55 | | | |
Cerințe: Folosiți instrumentul open-source sqlmap de testare a penetrării pentru a testa interfețele site-urilor web pentru riscurile de injectare. Injecția SQL înseamnă că aplicația web nu judecă legitimitatea datelor de intrare ale utilizatorului sau filtrarea nu este strictă, iar atacatorul poate adăuga instrucțiuni SQL suplimentare la finalul instrucțiunii de interogare definite dinainte în aplicația web și poate implementa operațiuni ilegale fără știrea administratorului, pentru a induce în eroare serverul de baze de date să execute interogări arbitrare neautorizate, pentru a obține în continuare informațiile corespunzătoare. Pe scurt, esteInterfața backend execută instrucțiuni SQL prin îmbinarea parametrilor solicitați

Recenzie:

EF 6 execută instrucțiuni SQL native, probleme de injectare a parametrilor
https://www.itsvse.com/thread-10610-1-1.html

EF Core Series (5) execută instrucțiuni SQL sau vizualizări, proceduri stocate
https://www.itsvse.com/thread-9565-1-1.html

C# Parameterized Parameters folosește sp_executesql pentru a executa instrucțiuni sql
https://www.itsvse.com/thread-3111-1-1.html

SQL Injection Book - Vulnerabilitatea ASP Injection Full Contact
https://www.itsvse.com/thread-2305-1-1.html

SQL este un instrument open-source de testare a penetrării care automatizează procesul de detectare și exploatare a vulnerabilităților injecției SQL și preluarea serverelor de baze de date. Vine cu un motor de detecție puternic, multe caracteristici de nișă ale testerului de penetrare suprem și o gamă largă de comutatoare, inclusiv amprentarea bazei de date, preluarea datelor din bazele de date, accesarea sistemului de fișiere de bază și executarea comenzilor pe sistemul de operare prin conexiuni off-of-band.

SQL Map funcționează direct din fabrică și funcționează pe orice platformăVersiunile Python 2.6, 2.7 și 3.x

Construcția mediului SQL Map

Descărcare Python:Autentificarea cu hyperlink este vizibilă.



Adresa open source SQLMAP:Autentificarea cu hyperlink este vizibilă.
Documentația comenzilor SQLMAP:Autentificarea cu hyperlink este vizibilă.

Mai întâi, calculatorul trebuie să instaleze Python (omis), apoi să folosească comanda git pentru a descărca codul sursă, după cum urmează:



Opțiuni:

-h, --ajutor Afișează mesajul de ajutor de bază și ieși -----Afișează mesajul de ajutor de bază și ieși
-hh Afișează mesaj avansat de ajutor și ieși-----
--versiunea pentru a vedea numărul de versiune----------- Afișează numărul de versiune al programului și ieși
-v VERBOSE nivel de detaliu (0-6, implicit 1) --Nivel de verbozitate: 0-6 (implicit 1)

Scop:

Cel puțin una dintre următoarele opțiuni trebuie setată pentru a determina URL-ul țintă, și anume: Cel puțin una dintre următoarele opțiuni trebuie inclusă în comanda de operare SQLMap pentru a o folosi normal

-d Șir de conexiune DIRECT pentru conexiune directă la baza de date-------------------
-u URL, --url=URL URL țintă --------------------- URL țintă (de ex. "http://www.site.com/vuln.php?id=1")
-l LOGFILE Analizează ținta dintr-un fișier proxy Burp sau WebScarab ---- ținta din fișierul log al unui Burp sau alt proxy
-x SITEMAPURL analizează ținta din fișierul remote sitemap(.xml) --Analizează ținta din fișierul remote sitemap(.xml)
Scanează mai multe ținte date într-un fișier textual -------- BULKFILE
-r REQUESTFILE Încarcă cererea HTTP dintr-un fișier ---------------Încarcă cererea HTTP dintr-un fișier
-g GOOGLEDORK Procesează rezultatele Google dork ca URL-uri țintă---
-c CONFIGFILE Încarcă opțiuni dintr-un fișier INI de configurare -------------- Încarcă opțiuni dintr-un fișier INI de configurare

Cerere:

Următoarele opțiuni specifică modul de conectare la URL-ul destinației

--method=METHOD Forțează utilizarea unei metode HTTP date (de exemplu, PUT------------------
--data=DATA Șirul de date trebuie trimis prin POST folosind metoda POST------------------
--param-del=PARA..  Setați simbolul pentru separarea valorilor parametrilor-------------------- Caracterul folosit pentru divizarea valorilor parametrilor
--cookie=COOKIE specifică valoarea cookie-ului HTTP ---------------------- valoarea antetului cookie-ului HTTP
--cookie-del=COO..  Caracter folosit pentru divizarea valorilor cookie-urilor------------------

Când testezi un punct de injecție folosind SQLMAP, poți folosi parametrul -v x pentru a specifica complexitatea informației de ecou, care variază de la [0~6] la 7 niveluri, cu o valoare implicită de 1.

0: Sunt afișate doar erori python împreună cu informații critice.
1: Afișați atât informații de bază, cât și informații de avertizare. (implicit)
2: Afișează informațiile de depanare în același timp.
3: Sarcina utilă injectată este afișată în același timp.
4: Afișează cererile HTTP în același timp.
5: Afișează antetul răspunsului HTTP în același timp.
6: Afișează pagina de răspuns HTTP în același timp.

ASP.NET Configurarea mediului de injecție a nucleului

Creează un nou proiect web folosind ASP.NET Core, scrie o interfață cu injecție, iar codul sursă este următorul:


Interfață de testare:



Teste de penetrare utilizate frecvent

Enumerarea bazelor de date DBMS

Și folosește SQL Server Profile pentru a captura execuția SQL-ului, așa cum se arată în figura următoare:



selectează * din [Utilizatori] unde [Nume utilizator] = 'itsvse' UNIUNE ALL SELECT NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(SELECT name FROM master.. sysdatabases PENTRU JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'



Enumeră tabelele bazei de date specificate

Comanda este următoarea:



Pentru cereri HTTP complexe, poțiprin parametrul -r(Încărcarea cererilor HTTP din fișiere,Folosește instrumentul Burp Suite pentru a captura cererile HTTP de pachete) pentru a încărca cererea HTTP originală dintr-un fișier text. Acest lucru îți permite să sari peste utilizarea multor alte opțiuni (de exemplu, setări pentru cookie-uri, date publicate etc.).

SQL este puternic, vezi documentația pentru funcții mai avansate. (Sfârșit)




Precedent:EF 6 execută instrucțiuni SQL native, probleme de injectare a parametrilor
Următor:[Transfer] către MySQL Advanced: comandă de optimizare a tabelului
 Proprietarul| Postat pe 17.06.2023 11:21:41 |
Schimbă-l cu următoarele, nu există riscul de injectare SQL:

Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com