Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 3629|Antwoord: 1

Gebruik de SQLMAP-infiltratietool voor SQL-injectietesten

[Link kopiëren]
Geplaatst op 17-06-2023 11:10:55 | | | |
Vereisten: Gebruik de sqlmap open-source penetratietesttool om website-interfaces te testen op injectierisico's. SQL-injectie betekent dat de webapplicatie de legitimiteit van de invoergegevens van de gebruiker niet beoordeelt of dat de filtering niet streng is, en de aanvaller kan extra SQL-instructies toevoegen aan het einde van de vooraf gedefinieerde query-instructie in de webapplicatie, en illegale operaties kunnen implementeren zonder medeweten van de beheerder, om de databaseserver te misleiden om ongeautoriseerde willekeurige queries uit te voeren, zodat de bijbehorende data-informatie verder wordt verhaald. Kortom, het is datDe backend-interface voert SQL-instructies uit door de gevraagde parameters aan elkaar te koppelen

Recensie:

EF 6 voert native SQL-instructies en parameterinjectieproblemen uit
https://www.itsvse.com/thread-10610-1-1.html

EF Core Series (5) voert SQL-instructies of views uit, opgeslagen procedures
https://www.itsvse.com/thread-9565-1-1.html

C# Parameterized Parameters gebruikt sp_executesql om SQL-instructies uit te voeren
https://www.itsvse.com/thread-3111-1-1.html

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

sqlmap is een open-source penetratietesttool die het proces van het detecteren en exploiteren van SQL-injectiekwetsbaarheden en het overnemen van databaseservers automatiseert. Het wordt geleverd met een krachtige detectiemotor, veel nichefuncties van de ultieme penetratietester, en een breed scala aan switches, waaronder database-fingerprinting, het ophalen van gegevens uit databases, toegang tot het onderliggende bestandssysteem en het uitvoeren van commando's op het besturingssysteem via out-of-band verbindingen.

SQLMAP werkt direct uit de doos en werkt op elk platformPython versies 2.6, 2.7 en 3.x

SQLMAP-omgevingsconstructie

Python downloaden:De hyperlink-login is zichtbaar.



SQLMAP open source adres:De hyperlink-login is zichtbaar.
SQLMAP-commandodocumentatie:De hyperlink-login is zichtbaar.

Eerst moet de computer Python installeren (weggelaten), en vervolgens het git-commando gebruiken om de broncode te downloaden, als volgt:



Opties:

-h, --help Toon basis hulpbericht en verlaat -----Toon basishulpbericht en verlaat
-hh Toon geavanceerde hulpmelding en verlaat-----
--versie om het versienummer te zien----------- Showprogramma-versie nummer en afsluiting
-v VERBOSE detailniveau (0-6, standaard 1) --Verbositeitsniveau: 0-6 (standaard 1)

Doel:

Er moet ten minste één van de volgende opties worden ingesteld om de doel-URL te bepalen, namelijk: Ten minste één van de volgende opties moet in het SQLMap-operatiecommando zijn opgenomen om deze normaal te kunnen gebruiken

-d DIRECT Connection-string voor directe databaseverbinding-------------------
-u URL, --url=URL Doel-URL --------------------- Doel-URL (bijv. "http://www.site.com/vuln.php?id=1")
-l LOGFILE Parse doel(en) uit het Burp- of WebScarab-proxylogbestand ---- het doel uit het logbestand van een Burp of andere proxy
-x SITEMAPURL ontleedt het doel uit het externe sitemap(.xml)--Parse doel(en) uit het externe sitemap(.xml)-bestand
Scan meerdere doelen die in een tekstbestand worden gegeven -------- BULKFILE
-r REQUESTFILE HTTP-verzoek laden uit een bestand ---------------HTTP-verzoek laden uit een bestand
-g GOOGLEDORK Verwerk Google Dork-resultaten als doel-URL's---
-c CONFIGFILE Laadopties uit een configuratie-INI-bestand -------------- Laadopties uit een configuratie-INI-bestand

Verzoek:

De volgende opties specificeren hoe je verbinding maakt met de bestemmings-URL

--method=METHOD Dwing het gebruik van de gegeven HTTP-methode af (bijv. PUT------------------
--data=DATA Datastring te verzenden via POST met de POST-methode------------------
--param-del=PARA..  Stel het symbool in voor het scheiden van parameterwaarden-------------------- Teken gebruikt voor het splitsen van parameterwaarden
--cookie=COOKIE specificeert de HTTP-cookiewaarde ---------------------- HTTP-cookie-headerwaarde
--cookie-del=COO..  Teken gebruikt om cookiewaarden te splitsen------------------

Bij het testen van een injectiepunt met SQLMAP kun je de parameter -v x gebruiken om de complexiteit van de echo-informatie aan te geven, die varieert van [0~6] tot 7 niveaus, met een standaard van 1.

0: Alleen pythonfouten worden weergegeven samen met kritieke informatie.
1: Toon zowel basisinformatie als waarschuwingsinformatie. (standaard)
2: Toon de debug-informatie tegelijk.
3: Geïnjecteerde lading wordt tegelijkertijd weergegeven.
4: HTTP-verzoeken tegelijkertijd weergeven.
5: Toon tegelijkertijd de HTTP-responsheader.
6: Toon tegelijkertijd de HTTP-antwoordpagina.

ASP.NET Core injectie-omgeving opzetten

Maak een nieuw webproject aan met ASP.NET Core, schrijf een interface met injectie, en de broncode is als volgt:


Testinterface:



Veelgebruikte penetratietests

Enumereer DBMS-databases

En gebruik SQL Server Profile om de uitvoering van de SQL vast te leggen, zoals weergegeven in de volgende figuur:



selecteer * uit [Gebruikers] waar [Gebruikersnaam] = 'itsvse' UNION ALL SELECT NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(SELECTEER naam VAN master.. SYSDATABASES VOOR JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'



Enumereer de tabellen van de gespecificeerde database

Het commando is als volgt:



Voor complexe HTTP-verzoeken kun jevia de -r-parameter(HTTP-verzoeken uit bestanden laden,Gebruik de Burp Suite-tool om HTTP-pakketverzoeken vast te leggen) om het oorspronkelijke HTTP-verzoek uit een tekstbestand te laden. Hierdoor kun je het gebruik van veel andere opties overslaan (bijvoorbeeld cookie-instellingen, gepubliceerde data, enz.).

SQLMAP is krachtig, zie de documentatie voor meer geavanceerde functies. (Einde)




Vorig:EF 6 voert native SQL-instructies en parameterinjectieproblemen uit
Volgend:[Transfer] naar MySQL Advanced: tabel optimaliseren commando
 Huisbaas| Geplaatst op 17-06-2023 11:21:41 |
Verander het naar het volgende, er is geen risico op SQL-injectie:

Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com