Áhrif SQL innspýtingar
SQL innspýting (SQLi) gerir árásarmanni kleift að trufla fyrirspurnir sem forrit gerir í gagnagrunn sinn [S1]. Aðaláhrifin fela í sér óheimilan aðgang að viðkvæmum gögnum eins og lykilorði notenda, kreditkortaupplýsingum og persónuupplýsingum [S1].
Fyrir utan gagnaþjófnað geta árásarmenn oft breytt eða eytt gagnagrunnsskrám, sem leiðir til viðvarandi breytinga á hegðun forrita eða gagnataps [S1]. Í alvarlegum tilfellum er hægt að auka SQLi til að skerða bakendainnviðina, gera þjónustuneitunarárásir kleift eða veita viðvarandi bakdyr í kerfi fyrirtækisins [S1][S2].
Grunnorsök: Óörugg meðhöndlun inntaks
Grunnorsök SQL innspýtingar er óviðeigandi hlutleysing sérstakra þátta sem notuð eru í SQL skipun [S2]. Þetta gerist þegar forrit smíðar SQL fyrirspurnir með því að tengja inntak undir áhrifum utanaðkomandi beint inn í fyrirspurnarstrenginn [S1][S2].
Vegna þess að inntakið er ekki rétt einangrað frá fyrirspurnarskipaninni getur gagnagrunnstúlkurinn framkvæmt hluta af inntakinu sem notandinn er SQL kóða frekar en að meðhöndla það sem bókstafleg gögn [S2]. Þessi varnarleysi getur komið fram í ýmsum hlutum fyrirspurnar, þar á meðal SELECT staðhæfingar, INSERT gildi eða UPDATE staðhæfingar [S1].
Steinsteypa lagfæringar og mótvægisaðgerðir
Notaðu breytilegar fyrirspurnir
Áhrifaríkasta leiðin til að koma í veg fyrir SQL-innspýtingu er notkun breytugreindra fyrirspurna, einnig þekktar sem tilbúnar staðhæfingar [S1]. Í stað þess að sameina strengi ættu verktaki að nota skipulögð kerfi sem knýja fram aðskilnað gagna og kóða [S2].
Meginreglan um minnstu forréttindi
Forrit ættu að tengjast gagnagrunninum með því að nota lægstu réttindi sem krafist er fyrir verkefni sín [S2]. Vefforritsreikningur ætti ekki að hafa stjórnunarréttindi og ætti að vera takmarkaður við sérstakar töflur eða aðgerðir sem nauðsynlegar eru fyrir virkni hans [S2].
Inntaksvottun og kóðun
Þó að það komi ekki í staðinn fyrir breytustillingu, veitir inntaksfullgilding ítarlega vörn [S2]. Forrit ættu að nota samþykkta-þekkt-góða stefnu, sem staðfestir að inntak passi við væntanlegar tegundir, lengdir og snið [S2].
Hvernig FixVibe prófar það
FixVibe nær nú þegar yfir SQL innspýtingu í gegnum hlið active.sqli skannaeiningarinnar. Virkar skannanir keyra aðeins eftir staðfestingu og staðfestingu á eignarhaldi léns. Athugunin skríður GET endapunkta af sama uppruna með fyrirspurnarfæribreytum, kemur á grunnsvörun, leitar að SQL-sértækum boolean frávikum og tilkynnir aðeins um niðurstöðu eftir staðfestingu tímasetningar yfir margar tafir. Geymsluskannanir hjálpa einnig til við að ná rótinni fyrr í gegnum code.web-app-risk-checklist-backfill, sem flaggar hrá SQL símtöl sem eru byggð með sniðmátsskilum.
