Krav: Brug sqlmap open source penetrationstestværktøjet til at teste hjemmesidegrænseflader for injektionsrisici. SQL-injektion betyder, at webapplikationen ikke vurderer legitimiteten af brugerens inputdata, eller at filtreringen ikke er streng, og angriberen kan tilføje yderligere SQL-sætninger til slutningen af den forespørgselssætning, der er defineret på forhånd i webapplikationen, og implementere ulovlige operationer uden administratorens viden for at narre databaseserveren til at udføre uautoriserede vilkårlige forespørgsler og dermed yderligere opnå de tilsvarende dataoplysninger. Kort sagt, det er detBackend-grænsefladen udfører SQL-sætninger ved at sammensætte de ønskede parametre。
Anmeldelse:
sqlmap er et open source penetrationstestværktøj, der automatiserer processen med at opdage og udnytte SQL-injektionssårbarheder og overtage databaseservere. Den leveres med en kraftfuld detektionsmotor, mange nichefunktioner fra den ultimative penetrationstester og et bredt udvalg af switches, herunder databasefingeraftryk, hentning af data fra databaser, adgang til det underliggende filsystem og udførelse af kommandoer på operativsystemet via out-of-band forbindelser.
sqlmap fungerer lige fra starten og fungerer på enhver platformPython versioner 2.6, 2.7 og 3.x。
SQLMAP-miljøkonstruktion
Python download:Hyperlink-login er synlig.
SQLMAP open source-adresse:Hyperlink-login er synlig. SQLMAP-kommandodokumentation:Hyperlink-login er synlig.
Først skal computeren installere Python (udeladt), og derefter bruge git-kommandoen til at downloade kildekoden, som følger:
Indstillinger:
-h, --hjælp Vis grundlæggende hjælpebesked og afslut -----Vis basishjælpsbesked og afslut -hh Vis avanceret hjælpebesked og afslutt----- --version for at se versionsnummeret----------- Showprogrammets versionsnummer og udgang -v VERBOSE detaljeniveau (0-6, standard 1) --Ordfærdighedsniveau: 0-6 (standard 1)
Mål:
Mindst én af følgende muligheder skal sættes for at bestemme mål-URL'en, nemlig: Mindst én af følgende muligheder skal være inkluderet i SQLMap-operationen for at bruge den normalt
-d DIRECT Connection-streng til direkte databaseforbindelse------------------- -u URL, --url=URL Mål-URL --------------------- Mål-URL (f.eks. "http://www.site.com/vuln.php?id=1") -l LOGFIL Parse mål(er) fra Burp eller WebScarab proxy logfil ---- målet fra logfilen for en Burp eller anden proxy -x SITEMAPURL parser målet fra remote sitemap(.xml)-filen --Parse target(s) fra remote sitemap(.xml)-filen Scan flere mål angivet i en tekstfil -------- BULKFILE -r REQUESTFILE Indlæs HTTP-forespørgsel fra en fil ---------------Indlæs HTTP-forespørgsel fra en fil -g GOOGLEDORK Processér Google Dork-resultater som mål-URL'er--- -c CONFIGFILE Indlæs indstillinger fra en konfigurations-INI-fil -------------- Indlæs indstillinger fra en konfigurations-INI-fil
Bøn:
Følgende muligheder angiver, hvordan man forbinder til destinations-URL'en
--metode=METODE Tving brug af en given HTTP-metode (f.eks. PUT------------------ --data=DATA Data-strengen, der skal sendes gennem POST ved hjælp af POST-metoden------------------ --param-del=PARA.. Sæt symbolet til at adskille parameterværdier-------------------- Tegn brugt til at splitte parameterværdier --cookie=COOKIE specificerer HTTP-cookieværdien ---------------------- HTTP-cookie-headerværdien --cookie-del=COO.. Tegn brugt til at splitte cookie-værdier------------------ Når man tester et injektionspunkt med SQLMAP, kan man bruge -v x-parameteren til at specificere kompleksiteten af ekkoinformationen, som spænder fra [0~6] til 7 niveauer, med en standard på 1.
0: Kun python-fejl vises sammen med kritisk information. 1: Vis både grundlæggende information og advarselsinformation. (standard) 2: Vis fejlsøgningsinformationen samtidig. 3: Den indsprøjtede nyttelast vises samtidig. 4: Vis HTTP-forespørgsler samtidig. 5: Vis HTTP-svarheaderen samtidig. 6: Vis HTTP-svarsiden samtidig.
ASP.NET Opsætning af Core injection-miljø
Opret et nyt webprojekt med ASP.NET Core, skriv et interface med injection, og kildekoden er som følger:
Testgrænseflade:
Almindeligt anvendte penetrationstests
Opglimt DBMS-databaser
Og brug SQL Server Profile til at fange udførelsen af SQL, som vist i følgende figur:
vælg * fra [Brugere] hvor [Brugernavn] = 'itsvse' UNION ALLE VÆLG NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(VÆLG navn FRA master.. sysdatabaser FOR JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'
Opfør tabellerne i den angivne database
Kommandoen er som følger:
For komplekse HTTP-forespørgsler kan duvia -r-parameteren(Indlæsning af HTTP-forespørgsler fra filer,Brug Burp Suite-værktøjet til at fange HTTP-pakker) for at indlæse den oprindelige HTTP-anmodning fra en tekstfil. Dette gør det muligt at springe mange andre muligheder over (f.eks. cookie-indstillinger, offentliggjorte data osv.).
SQLMAP er kraftfuldt, se dokumentationen for mere avancerede funktioner. (Slut)
|