|
|
Zverejnené 17. 6. 2023 11:10:55
|
|
|
|

Požiadavky: Použite open-source nástroj na penetračné testovanie sqlmap na testovanie webových rozhraní na riziká injekcie. SQL injection znamená, že webová aplikácia nehodnotí legitímnosť vstupných dát používateľa alebo filtrovanie nie je prísne, a útočník môže pridať ďalšie SQL príkazy na koniec príkazu vopred definovaného vo webovej aplikácii a vykonávať nelegálne operácie bez vedomia administrátora, aby oklamal databázový server pri vykonávaní neoprávnených ľubovoľných dotazov a následne získal zodpovedajúce dátové informácie. Stručne povedané, je to takBackendové rozhranie vykonáva SQL príkazy spájaním požadovaných parametrov。
Revízia:
sqlmap je open-source nástroj na penetračné testovanie, ktorý automatizuje proces detekcie a zneužívania zraniteľností SQL injection a prevzatia databázových serverov. Je vybavený výkonným detekčným enginom, mnohými špecifickými funkciami ultimátneho penetračného testera a širokou škálou prepínačov, vrátane databázového fingerprintingu, získavania dát z databáz, prístupu k základnému súborovému systému a vykonávania príkazov v operačnom systéme cez mimopásmové pripojenia.
sqlmap funguje hneď po vyložení a funguje na akejkoľvek platformePython verzie 2.6, 2.7 a 3.x。
Konštrukcia prostredia sqlmap
Python na stiahnutie:Prihlásenie na hypertextový odkaz je viditeľné.
SQLMAP open source adresa:Prihlásenie na hypertextový odkaz je viditeľné. Dokumentácia príkazov SQLMAP:Prihlásenie na hypertextový odkaz je viditeľné.
Najprv musí počítač nainštalovať Python (vynechané) a potom použiť príkaz git na stiahnutie zdrojového kódu, nasledovne:
Možnosti:
-h, --help Zobraziť základnú pomocnú správu a ukončiť ----- Zobraziť základnú pomocnú správu a ukončiť -hh Zobraziť pokročilú pomoc a odísť----- --verzia na zobrazenie čísla verzie----------- Zobraziť číslo verzie programu a ukončiť -v VERBOSE úroveň detailov (0-6, predvolené 1) --Úroveň rozvláčnosti: 0-6 (predvolené 1)
Cieľ:
Na určenie cieľovej URL je potrebné nastaviť aspoň jednu z nasledujúcich možností, a to: Aspoň jedna z nasledujúcich možností musí byť zahrnutá v operačnom príkaze SQLMap, aby ste ho mohli normálne používať
-d DIRECT Connection reťazec pre priame pripojenie k databáze------------------- -u URL, --url=URL Cieľová URL --------------------- Cieľová URL (napr. "http://www.site.com/vuln.php?id=1") -l LOGFILE Parsujte cieľ(y) z proxy log súboru Burp alebo WebScarab ---- cieľ z log súboru Burp alebo iného proxy -x SITEMAPURL parsuje cieľ zo vzdialeného sitemap(.xml) súboru --Parsuj cieľ(y) zo vzdialeného sitemap(.xml) súboru Skenujte viacero cieľov zadaných v textovom súbore -------- BULKFILE -r REQUESTFILE Načítaj HTTP požiadavku zo súboru ---------------Načítaj HTTP požiadavku zo súboru -g GOOGLEDORK Spracuj výsledky Google dork ako cieľové URL--- -c KONFIGURAČNÝ súbor Načítanie možností z konfiguračného INI súboru -------------- Načítanie možností z konfiguračného INI súboru
Prosiť:
Nasledujúce možnosti špecifikujú, ako sa pripojiť k cieľovej URL adrese
--method=METHOD Vynúťte použitie danej HTTP metódy (napr. PUT------------------ --data=DATA Dátový reťazec, ktorý sa posiela cez POST pomocou metódy POST------------------ --param-del=PARA.. Nastavte symbol na oddelenie hodnôt parametrov-------------------- Znak použitý na rozdelenie hodnôt parametrov --cookie=COOKIE špecifikuje hodnotu HTTP cookie ---------------------- hodnotu HTTP cookie header --cookie-del=COO.. Znak používaný na rozdelenie hodnôt cookies------------------ Pri testovaní injekčného bodu pomocou SQLMAP môžete použiť parameter -v x na určenie zložitosti echo informácií, ktoré sa pohybujú od [0~6] do 7 úrovní, s predvolenou hodnotou 1.
0: Zobrazujú sa iba chyby v pythone spolu s kritickými informáciami. 1: Zobraziť základné informácie aj varovné informácie. (predvolené) 2: Zobraziť ladiace informácie súčasne. 3: Súčasne sa zobrazí vložený payload. 4: Zobraziť HTTP požiadavky súčasne. 5: Zobraziť hlavičku HTTP odpovede súčasne. 6: Zobraziť HTTP odpoveďovú stránku súčasne.
ASP.NET Nastavenie prostredia pre injekciu jadra
Vytvorte nový webový projekt pomocou ASP.NET Core, napíšte rozhranie s injekciou a zdrojový kód je nasledovný:
Testovacie rozhranie:
Bežne používané penetračné testy
Enumerate databázy DBMS
A použiť SQL Server Profile na zachytenie vykonávania SQL, ako je znázornené na nasledujúcom obrázku:
vyber * z [Users], kde [Username] = 'itsvse' UNION ALL SELECT NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(VYBRAŤ meno Z mastera.. sysdatabases FOR JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'
Vymenujte tabuľky zadanej databázy
Príkaz je nasledovný:
Pre zložité HTTP požiadavky môžetecez parameter -r(Načítavanie HTTP požiadaviek zo súborov,Použite nástroj Burp Suite na zachytenie HTTP požiadaviek na pakety) na načítanie pôvodnej HTTP požiadavky z textového súboru. To vám umožní vyhnúť sa používaniu mnohých ďalších možností (napr. nastavenia cookies, publikované údaje a pod.).
sqlmap je výkonný, pozrite si dokumentáciu pre pokročilejšie funkcie. (Koniec)
|
Predchádzajúci:EF 6 vykonáva natívne SQL príkazy, problémy s injekciou parametrovBudúci:[Transfer] do MySQL Advanced: optimalizovať príkaz tabuľky
|