SQLmap Tutorial

Executarea sqlmap de unul singur nu este dificilă.
Acest tutorial vă va duce de la noob la ninja cu acest instrument puternic de testare a injecțiilor sql.

Sqlmap este un instrument bazat pe python, ceea ce înseamnă că va rula de obicei pe orice sistem cu python. Cu toate acestea, ne place Linux și în special Ubuntu, pur și simplu face ca lucrurile să fie ușor de făcut. Python vine deja instalat în Ubuntu. Acesta este același instrument pe care îl folosim pe site-ul nostru online de testare a injecțiilor sql.

Pentru a începe cu sqlmap, este o chestiune de a descărca instrumentul, de a-l despacheta și de a rula comanda cu opțiunile necesare. Deoarece s-ar putea să existe printre voi utilizatori de Windows, voi începe mai întâi cu modul în care se face o instalare pe Ubuntu. Este ușor să pornești pe un sistem Ubuntu Linux, chiar dacă gândul la Linux îți provoacă spasme de frică. Cine știe, s-ar putea chiar să vă placă.

Cuprins:
– Instalarea SQLmap
– HTTP GET
– Se blochează
– Tabelele bazei de date
– Aruncarea datelor
– Sfaturi
– Ieșirea Verbose
– Credențiale de bază de date
– Credențiale de conectare la BD

Instalați SQLmap

Pasul 1: Instalarea SQLmap: Obțineți un sistem de operare bazat pe Linux

Dacă aveți de gând să rulați SQLmap pe Windows cu Python, asigurați-vă că aveți Python instalat și treceți la pasul următor. În caz contrar, porniți sistemul Linux. Fie instalați o mașină virtuală Linux (se recomandă Ubuntu sau Kali) pe Windows (Virtualbox / VMware / Parrallels), fie porniți desktop-ul Linux.

Dacă rulați Microsoft Windows ca sistem de operare principal, este convenabil și simplu să rulați o instalare de Ubuntu Linux (sau Kali Linux) într-o mașină virtuală. Apoi vă puteți juca cu sqlmap, nmap, nikto și openvas împreună cu o sută de alte instrumente puternice de securitate open source.

Etapa 2: Instalarea SQLmap

Python este preinstalat în Ubuntu, așa că tot ce trebuie să faceți este să clonați cel mai recent depozit din git și să începeți testele.

Schimbați în director și rulați scriptul python pentru a vă asigura că totul arată bine.

Dacă nu vedeți ceva asemănător cu rezultatul de mai sus, asigurați-vă că python funcționează (încercați python -V) pentru a verifica versiunea și că vă aflați în locația corectă. Acum să mergem mai departe, aceasta a fost partea ușoară.

Pentru a obține o listă completă a opțiunilor disponibile, executați python sqlmap.py -h.

Executarea SQLmap

Test simplu bazat pe HTTP GET

În acest test simplu vom folosi o cerere standard bazată pe HTTP GET împotriva unui URI cu un parametru (?id=5). Acest lucru va testa diferite metode de injecție SQL împotriva parametrului id.

python sqlmap.py -u 'http://mytestsite.com/page.php?id=5'

În rezultate putem vedea diferitele metode folosite împotriva parametrului.

Sunt blocate de Web Application Firewall – WAF

Încercați să folosiți un agent utilizator diferit de cel implicit sqlmap cu parametrul --randomagent.

Retragerea tabelelor din baza de date

SQLmap poate fi folosit pentru a testa și exploata SQL Injection, făcând lucruri precum extragerea de date din bazele de date, actualizarea tabelelor și chiar deschiderea de shell-uri pe gazde la distanță dacă toate rațele sunt în linie.

Să recuperăm tabelele din baza de date folosind vulnerabilitatea SQL Injection pe care am confirmat-o mai sus. După cum veți vedea în rezultatul de mai jos, putem continua testarea împotriva țintei fără a fi nevoie să testăm din nou vulnerabilitatea. SQLmap folosește informațiile pe care le cunoaște despre site pentru a exploata în continuare baza de date țintă.

Pentru a prelua datele pur și simplu adăugăm un parametru la comanda anterioară. Prin adăugarea lui --tables putem încerca să recuperăm toate tabelele.

Scoate datele

Pentru a obține date pur și simplu extindem comanda noastră. Adăugând -T users ne vom concentra asupra tabelului de utilizatori, de unde am putea obține unele acreditări. Adăugarea --dump îi va spune lui SQLmap să preia toate datele din tabelul users, mai întâi vor fi enumerate coloanele și apoi vor fi descărcate datele din coloane.

SQLmap Tips – Go ninja on your SQL Injection Testing

Verbose output

Când se testează pentru SQL Injection, este adesea necesar să se aprofundeze manual în cereri pentru a determina problemele cu testul sau pentru a confirma sau chiar exploata mai departe o injecție descoperită. Faptul de a putea crește verbozitatea ieșirii SQLmap vă va ajuta la aceste teste.

Creșterea verbozității la 4 vă permite să obțineți solicitările HTTP, cu 5 veți vedea și antetele de răspuns HTTP, iar cu 6 se va afișa răspunsul HTTP complet. Evident, acest lucru poate deveni super zgomotos, dar uneori aveți nevoie să vedeți ce se întâmplă.

Got Database Credentials?

Acest sfat util vă permite să vă conectați direct la baza de date și să descărcați date precum utilizatori, baze de date sau tabele. Partea bună este că nu trebuie să vă amintiți sintaxa SQL pentru baza de date sau să aveți un client instalat. SQLmap va face munca grea, acționând ca un client al bazei de date pentru a descărca datele.

Șiruri de conexiune la baze de date:

MySQL, Oracle, Microsoft SQL Server, PostgreSQL
DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME
SQLite, Microsoft Access
DBMS://DATABASE_FILEPATH

Popping Shells and More

SQLmap are un număr ridicol de opțiuni și este un instrument uimitor pentru a deveni una cu o bază de date. În afară de popping shells pe gazda țintă, puteți trimite cereri prin tor, găsi injecții în răspunsurile paginilor în mod automat, spider site-uri și, bineînțeles, realiza teste bazate pe HTTP POST. Aceste exemple nu fac decât să zgârie suprafața. Găsiți mai multe exemple pe excelenta pagină wiki de pe github.

Injectarea SQL continuă să fie o țintă preferată a atacatorilor.

Utilizați scanerul nostru SQL Injection pentru a testa parametrii injectabili pe un URI web.

Testarea la nivel următor cu scanere avansate de securitate pentru vulnerabilități.

Unelte de încredere. Găzduit pentru acces ușor.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.