|
|
Julkaistu 17.6.2023 11.10.55
|
|
|
|

Vaatimukset: Käytä SQLMAP-avoimen lähdekoodin penetraatiotestaustyökalua verkkosivuston käyttöliittymien testaamiseen injektioriskien varalta. SQL-injektio tarkoittaa, että verkkosovellus ei arvioi käyttäjän syötteen oikeellisuutta tai suodatus ei ole tiukkaa, ja hyökkääjä voi lisätä SQL-lauseita hakulauseen loppuun, joka on määritelty etukäteen web-sovelluksessa, ja toteuttaa laittomia operaatioita ilman ylläpitäjän tietoa, jotta tietokantapalvelinta voidaan harhauttaa suorittamaan luvattomia mielivaltaisia kyselyjä ja saada edelleen tarvittavat tiedot. Lyhyesti sanottuna, se onBackend-rajapinta suorittaa SQL-lauseet yhdistämällä pyydetyt parametrit yhteen。
Arvostelu:
sqlmap on avoimen lähdekoodin penetraatiotestaustyökalu, joka automatisoi SQL-injektion haavoittuvuuksien havaitsemisen ja hyödyntämisen sekä tietokantapalvelimien haltuunoton. Se sisältää tehokkaan tunnistusmoottorin, monia erikoisominaisuuksia täydellisessä penetraatiotesterissä sekä laajan valikoiman kytkimiä, mukaan lukien tietokantasormenjälkien tunnistus, datan hakeminen tietokannoista, tiedostojärjestelmän käyttö ja komentojen suorittaminen käyttöjärjestelmässä kaistan ulkopuolisten yhteyksien kautta.
SQLMAP toimii suoraan laatikosta lähtien ja toimii kaikilla alustoillaPython-versiot 2.6, 2.7 ja 3.x。
SQLMAP-ympäristön rakentaminen
Python-lataus:Hyperlinkin kirjautuminen on näkyvissä.
SQLMAP-avoimen lähdekoodin osoite:Hyperlinkin kirjautuminen on näkyvissä. SQLMAP-komentodokumentaatio:Hyperlinkin kirjautuminen on näkyvissä.
Ensin tietokoneen täytyy asentaa Python (pois jäetty) ja sitten käyttää git-komentoa lataamaan lähdekoodi seuraavasti:
Asetukset:
-h, --apu Näytä perusohjeviesti ja poistu -----Näytä perusohjeviesti ja poistu -hh Näytä edistynyt apuviesti ja poistuminen----- --version nähdäksesi version numeron----------- Näytä ohjelman versionumero ja poistu -v VERBOSE yksityiskohtaisuustaso (0-6, oletus 1) --Sanataso: 0-6 (oletus 1)
Kohde:
Vähintään yksi seuraavista vaihtoehdoista täytyy asettaa kohde-URL:n määrittämiseksi, nimittäin: Vähintään yksi seuraavista vaihtoehdoista täytyy sisällyttää SQLMap-operaatiokomentoon, jotta sitä voi käyttää normaalisti
-d DIRECT Connection -merkkijono suoraa tietokantayhteyttä varten------------------- -u URL, --url=URL Kohde-URL --------------------- Kohde-URL (esim. "http://www.site.com/vuln.php?id=1") -l LOGFILE Jäsennä kohde(t) Burp- tai WebScarab-välityspalvelimen lokitiedostosta ---- kohde Burpin tai muun välityspalvelimen lokitiedostosta -x SITEMAPURL jäsentää kohteen etäsitemap(.xml)-tiedostosta --Parse kohde(t) etäsitemap(.xml)-tiedostosta Skannaa useita kohteita, jotka on annettu tekstitiedostossa -------- BULKFILE -r REQUESTFILE Lataa HTTP-pyyntö tiedostosta ---------------Lataa HTTP-pyyntö tiedostosta -g GOOGLEDORK Käsittele Google Dork -tulokset kohdeosoitteina--- -c CONFIGFILE Latausvaihtoehdot konfiguraatio-INI-tiedostosta -------------- Latausvaihtoehdot konfiguraatio-INI-tiedostosta
Pyytää:
Seuraavat vaihtoehdot määrittelevät, miten yhdistää kohde-URL-osoitteeseen
--method=METHOD Pakota käyttämään annettua HTTP-metodia (esim. PUT------------------ --data=DATA Datamerkkijono, joka lähetetään POST-menetelmällä POSTin kautta------------------ --param-del=PARA.. Aseta symboli parametriarvojen erottamiseen-------------------- Merkki, jota käytetään parametriarvojen jakamiseen --cookie=COOKIE määrittää HTTP-evästearvon ---------------------- HTTP-evästeen otsikon arvon --cookie-del=COO.. Merkki, jota käytetään evästearvojen jakamiseen------------------ Kun testaat injektiopistettä SQLMAPilla, voit käyttää -v x -parametria määrittääksesi kaikutiedon monimutkaisuuden, joka vaihtelee [0~6]:sta 7:ään, oletuksena 1.
0: Näytetään vain python-virheitä sekä kriittisiä tietoja. 1: Näytä sekä perustiedot että varoitustiedot. (oletus) 2: Näytä virheenkorjaustiedot samanaikaisesti. 3: Samanaikaisesti näytetään injektoitu hyötykuorma. 4: Näytä HTTP-pyynnöt samanaikaisesti. 5: Näytä HTTP-vastausotsikko samanaikaisesti. 6: Näytä HTTP-vastaussivu samanaikaisesti.
ASP.NET Ytimen injektiointiympäristön asetus
Luo uusi verkkoprojekti ASP.NET Corella, kirjoita rajapinta injektiolla, ja lähdekoodi on seuraava:
Testirajapinta:
Yleisesti käytetyt tunkeutumistestit
Enumerate DBMS-tietokannat
Ja käytä SQL Server Profilea SQL:n suorituksen tallentamiseen, kuten seuraavassa kuvassa näkyy:
valitse * [Käyttäjät] -kohdasta, jossa [Käyttäjänimi] = 'itsvse' YHDISTÄ KAIKKI VALITSE NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(VALITSE nimi MASTERILTA.. sysdatabases FOR JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'
Luettele määritellyn tietokannan taulukot
Käsky on seuraava:
Monimutkaisissa HTTP-pyynnöissä voit tehdä-r-parametrin avulla(HTTP-pyyntöjen lataaminen tiedostoista,Käytä Burp Suite -työkalua pakettien HTTP-pyyntöjen kaappaamiseen) ladatakseen alkuperäisen HTTP-pyynnön tekstitiedostosta. Tämä mahdollistaa monien muiden vaihtoehtojen (esim. evästeasetukset, julkaistut tiedot jne.) ohittamisen.
SQLMAP on tehokas, katso dokumentaatio edistyneemmistä ominaisuuksista. (Loppu)
|
Edellinen:EF 6 suorittaa natiivit SQL-lauseet, parametrien injektio-ongelmatSeuraava:[Siirto] MySQL Advanced: optimoi taulukomento
|