SQLmap Tutorial

Het zelf draaien van sqlmap is niet moeilijk.
Deze tutorial neemt je mee van noob tot ninja met deze krachtige sql injection testing tool.

Sqlmap is een python gebaseerde tool, wat betekent dat het meestal draait op elk systeem met python. Wij houden echter van Linux en specifiek Ubuntu, het maakt het gewoon gemakkelijk om dingen gedaan te krijgen. Python is al geïnstalleerd in Ubuntu. Dit is dezelfde tool die we gebruiken op onze online sql injection test site.

Om aan de slag te gaan met sqlmap, is het een kwestie van het downloaden van de tool, uitpakken, en het commando uitvoeren met de nodige opties. Omdat er misschien Windows gebruikers onder jullie zijn, zal ik eerst beginnen met hoe je een Ubuntu installatie aan de praat krijgt. Het is gemakkelijk om aan de slag te gaan op een Ubuntu Linux systeem, zelfs als de gedachte aan Linux je angst inboezemt. Wie weet, misschien vindt u het zelfs leuk.

Inhoud:
– SQLmap installeren
– HTTP GET
– Geblokkeerd worden
– Database Tabellen
– Dump de gegevens
– Tips
– Verbose uitvoer
– Database Credentials
– DB Connection Credentials

Installeer SQLmap

Stap 1: Zorg voor een op Linux gebaseerd besturingssysteem

Als u SQLmap op Windows gaat draaien met Python, zorg er dan voor dat u Python geïnstalleerd hebt, en ga naar de volgende stap. Anders, start uw Linux systeem op. Of installeer een Linux virtuele machine (Ubuntu of Kali aanbevolen) op Windows (Virtualbox / VMware / Parrallels) of start uw Linux-desktop op.

Als u Microsoft Windows als uw belangrijkste besturingssysteem uitvoert, is het handig en eenvoudig om een installatie van Ubuntu Linux (of Kali Linux) in een virtuele machine uit te voeren. U kunt dan spelen met sqlmap, nmap, nikto en openvas samen met honderd andere krachtige open source security tools.

Step 2: SQLmap Installatie

Python is voorgeïnstalleerd in Ubuntu, dus alles wat u hoeft te doen is de nieuwste repository van git klonen en beginnen met testen.

Ga naar de directory en voer het python script uit om er zeker van te zijn dat alles er goed uitziet.

Als u niet iets ziet zoals de uitvoer hierboven, controleer dan of python werkt (probeer python -V) om de versie te controleren en u bent op de juiste locatie. Laten we nu verder gaan, dit was het makkelijke deel.

Om een volledige lijst van de beschikbare opties te krijgen, voert u python sqlmap.py -h.

Het uitvoeren van SQLmap

Eenvoudige HTTP GET gebaseerde test

In deze eenvoudige test zullen we een standaard HTTP GET gebaseerd verzoek gebruiken tegen een URI met een parameter (?id=5). Dit zal verschillende SQL injectie methodes testen tegen de id parameter.

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

In de resultaten kunnen we de verschillende methodes zien die gebruikt zijn tegen de parameter.

Geblokkeerd worden door de Web Application Firewall – WAF

Probeer eens een andere user agent te gebruiken dan de standaard sqlmap met de --randomagent parameter.

De databasetabellen ophalen

SQLmap kan worden gebruikt om SQL injectie te testen en uit te buiten, door dingen te doen zoals gegevens uit databases halen, tabellen bijwerken, en zelfs shells op hosts op afstand te porren als alle eenden in de rij staan.

Laten we de tabellen uit de database halen met de SQL injectie kwetsbaarheid die we hierboven hebben bevestigd. Zoals je in de uitvoer hieronder zult zien, kunnen we doorgaan met testen tegen het doelwit zonder de kwetsbaarheid opnieuw te hoeven testen. SQLmap gebruikt informatie die het weet over de site om de target database verder te exploiteren.

Om gegevens op te halen voegen we simpelweg een parameter toe aan het vorige commando. Door --tables toe te voegen kunnen we proberen om alle tabellen op te halen.

Dump de gegevens

Om gegevens op te halen, breiden we gewoon ons commando uit. Door -T users toe te voegen, concentreren we ons op de gebruikers-tabel, waar we misschien wat inloggegevens kunnen ophalen. Door --dump toe te voegen, vertelt u SQLmap dat alle gegevens uit de gebruikerstabel moeten worden opgehaald. Eerst worden de kolommen opgesomd en vervolgens worden de gegevens uit de kolommen gedumpt.

SQLmap Tips – Go ninja on your SQL Injection Testing

Verbose output

Bij het testen op SQL Injection is het vaak nodig om handmatig in de requests te graven om problemen met de test vast te stellen of om een ontdekte injectie te bevestigen of zelfs verder uit te buiten. De mogelijkheid om de verbosity van je SQLmap output te verhogen zal helpen bij deze tests.

Door de verbosity te verhogen naar 4 krijg je de HTTP requests te zien, met 5 zie je ook de HTTP response headers en met 6 krijg je de volledige HTTP response te zien. Uiteraard kan dit superruisig worden, maar soms moet je zien wat er gebeurt.

Got Database Credentials?

Met deze handige tip kun je direct verbinding maken met de database en gegevens dumpen, zoals gebruikers, databases of tabellen. Het mooie hiervan is dat je niet de SQL syntax voor de database hoeft te onthouden of een client geïnstalleerd hoeft te hebben. SQLMap zal het zware werk doen en zich gedragen als een Database Client om gegevens te dumpen.

DB Connection strings:

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 heeft een belachelijk aantal opties, en is een geweldig gereedschap om één te worden met een database. Afgezien van het knallen van shells op de doelhost, kun je verzoeken via tor sturen, automatisch injecties in paginareacties vinden, sites spideren en, natuurlijk, HTTP POST gebaseerde tests uitvoeren. Deze voorbeelden zijn slechts een tipje van de sluier. Meer voorbeelden zijn te vinden op de uitstekende wiki-pagina op github.

SQL-injectie blijft een geliefd doelwit van aanvallers.

Gebruik onze SQL-injectiescanner om te testen op injecteerbare parameters op een web-URI.

Testen op een hoger niveau met geavanceerde beveiligingslekscanners.

Getrouwde tools. Gehost voor gemakkelijke toegang.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.