Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3629|Svar: 1

Använd SQLMAP-infiltrationsverktyget SQL-injektionstestning

[Kopiera länk]
Publicerad på 2023-06-17 11:10:55 | | | |
Krav: Använd sqlmap:s öppna källkodsverktyg för penetrationstestning för att testa webbplatsgränssnitt för injektionsrisker. SQL-injektion innebär att webbapplikationen inte bedömer användarens indatas legitimitet eller att filtreringen inte är strikt, och angriparen kan lägga till ytterligare SQL-satser i slutet av frågesatsen som definierats i förväg i webbapplikationen, och implementera olagliga operationer utan administratörens vetskap, för att lura databasservern att utföra obehöriga godtyckliga förfrågningar och därmed ytterligare få motsvarande datainformation. Kort sagt, det är detBackendgränssnittet kör SQL-satser genom att sy ihop de begärda parametrarna

Recension:

EF 6 exekverar inbyggda SQL-satser, problem med parameterinjektion
https://www.itsvse.com/thread-10610-1-1.html

EF Core Series (5) exekverar SQL-satser eller vyer, lagrade procedurer
https://www.itsvse.com/thread-9565-1-1.html

C# Parameterized Parameters använder sp_executesql för att exekvera SQL-satser
https://www.itsvse.com/thread-3111-1-1.html

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

sqlmap är ett öppen källkods penetrationstestverktyg som automatiserar processen att upptäcka och utnyttja SQL-injektionssårbarheter samt ta över databasservrar. Den levereras med en kraftfull detektionsmotor, många nischfunktioner från den ultimata penetrationstestaren och ett brett utbud av switchar, inklusive databasfingeravtryck, att hämta data från databaser, att få tillgång till det underliggande filsystemet och att utföra kommandon på operativsystemet via out-of-band-anslutningar.

SQLMAP fungerar direkt ur lådan och fungerar på alla plattformarPython-versionerna 2.6, 2.7 och 3.x

SQLMAP-miljökonstruktion

Python-nedladdning:Inloggningen med hyperlänken är synlig.



SQLMAP öppen källkodsadress:Inloggningen med hyperlänken är synlig.
SQLMAP-kommandodokumentation:Inloggningen med hyperlänken är synlig.

Först måste datorn installera Python (utelämnat), och sedan använda git-kommandot för att ladda ner källkoden, enligt följande:



Alternativ:

-h, --hjälp Visa grundläggande hjälpmeddelande och avsluta -----Visa grundläggande hjälpmeddelande och avsluta
-hh Visa avancerat hjälpmeddelande och avsluta-----
--version för att se versionsnumret----------- Showprogrammets versionsnummer och avslutning
-v VERBOSE detaljnivå (0-6, standard 1) --Ordrikedom: 0-6 (standard 1)

Mål:

Minst ett av följande alternativ måste sättas för att bestämma mål-URL:en, nämligen: Minst ett av följande alternativ måste inkluderas i SQLMap-operationskommandot för att använda det normalt

-d DIRECT Connection-sträng för direkt databasanslutning-------------------
-u URL, --url=URL Mål-URL --------------------- Mål-URL (t.ex. "http://www.site.com/vuln.php?id=1")
-l LOGFILE Parse mål(er) från Burp eller WebScarab proxy-loggfil ---- målet från loggfilen för en Burp eller annan proxy
-x SITEMAPURL tolkar målet från filen fjärrsajtkarta(.xml --Stolka mål(er) från fjärrsajtkarta(.xml)-filen
Skanna flera mål som ges i en textfil -------- BULKFILE
-r REQUESTFILE Ladda HTTP-förfrågan från en fil ---------------Ladda HTTP-förfrågan från en fil
-g GOOGLEDORK Processa Google Dork-resultat som mål-URL:er---
-c CONFIGFILE Ladda alternativ från en konfigurations-INI-fil -------------- Ladda alternativ från en konfigurations-INI-fil

Begäran:

Följande alternativ specificerar hur man ansluter till destinations-URL:en

--method=METHOD Tvinga användning av given HTTP-metod (t.ex. PUT------------------
--data=DATA-datasträng som ska skickas via POST med POST-metoden------------------
--param-del=PARA..  Sätt symbolen för att separera parametervärden-------------------- Tecken som används för att dela parametervärden
--cookie=COOKIE specificerar HTTP-cookievärdet ---------------------- HTTP-cookiehuvudvärdet
--cookie-del=COO..  Tecken som används för att dela upp cookie-värden------------------

När du testar en injektionspunkt med SQLMAP kan du använda parametern -v x för att specificera komplexiteten i ekoinformationen, som varierar från [0~6] till 7 nivåer, med standardvärdet 1.

0: Endast pythonfel visas tillsammans med kritisk information.
1: Visa både grundläggande information och varningsinformation. (standard)
2: Visa felsökningsinformationen samtidigt.
3: Injicerad nyttolast visas samtidigt.
4: Visa HTTP-förfrågningar samtidigt.
5: Visa HTTP-svarsheadern samtidigt.
6: Visa HTTP-svarssidan samtidigt.

ASP.NET Kärninjektionsmiljö

Skapa ett nytt webbprojekt med ASP.NET Core, skriv ett gränssnitt med injektion, och källkoden är följande:


Testgränssnitt:



Vanligt använda penetrationstester

Räkna upp DBMS-databaser

Och använd SQL Server Profile för att fånga exekveringen av SQL, som visas i följande figur:



välj * från [Användare] där [Användarnamn] = 'itsvse' UNION ALLA VÄLJ NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(VÄLJ namn FRÅN master.. sysdatabaser FÖR JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'



Räkna upp tabellerna i den angivna databasen

Kommandot är följande:



För komplexa HTTP-förfrågningar kan duvia -r-parametern(Laddar HTTP-förfrågningar från filer,Använd verktyget Burp Suite för att fånga paket-HTTP-förfrågningar) för att ladda den ursprungliga HTTP-förfrågan från en textfil. Detta gör att du kan hoppa över användningen av många andra alternativ (t.ex. cookieinställningar, publicerad data, etc.).

SQLMAP är kraftfullt, se dokumentationen för mer avancerade funktioner. (Slut)




Föregående:EF 6 exekverar inbyggda SQL-satser, problem med parameterinjektion
Nästa:[Överför] till MySQL Avancerat: optimera tabellkommandot
 Hyresvärd| Publicerad på 2023-06-17 11:21:41 |
Ändra det till följande, det finns ingen risk för SQL-injektion:

Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com