FixVibe
Covered by FixVibecritical

SQL Injection: Pêşîlêgirtina Gihîştina Database ya Bêdestûr

Derziya SQL (SQLi) xirapiyek krîtîk e ku êrîşkar bi pirsên databasa serîlêdanê re mudaxele dikin. Bi derzkirina hevoksaziya xirab a SQL, êrîşkar dikarin ji rastrastkirinê dûr bixin, daneyên hesas ên mîna şîfre û hûrguliyên qerta krediyê bibînin, an tewra servera bingehîn tawîz bikin.

CWE-89

Bandora SQL Injection

Derziya SQL (SQLi) dihêle êrîşker mudaxeleyî pirsên ku serîlêdan ji databasa xwe re [S1] dike, bike. Bandora bingehîn gihîştina nedestûr a daneyên hesas ên wekî şîfreyên bikarhêner, hûrguliyên qerta krediyê, û agahdariya kesane [S1] vedihewîne.

Ji diziya daneyan wêdetir, êrîşkar bi gelemperî dikarin tomarên databasê biguhezînin an jêbikin, ku bibe sedema guhertinên domdar di tevgera serîlêdanê de an windabûna daneyê [S1]. Di rewşên tundûtûjî de, SQLi dikare were zêdekirin da ku binesaziya paşîn-paşîn têk bibe, êrişên înkarkirina karûbarê çalak bike, an derîyek domdar di pergalên rêxistinê de peyda bike [S1]ZXCVFIXXVIBETOKEN2.

Sedema bingehîn: Desthilatdariya Ketina Neewle

Sedema bingehîn a derzîlêdana SQL nerastkirina nerast a hêmanên taybetî ye ku di fermanek SQL [S2] de têne bikar anîn. Ev diqewime dema ku serîlêdanek pirsên SQL-ê çêdike bi girêdana têketina ji derve ya bi bandor rasterast di rêzika pirsê de [S1][S2].

Ji ber ku têketin bi rêkûpêk ji strukturê pirsê nayê veqetandin, wergêrê databasê dibe ku beşên têketina bikarhêner wekî koda SQL bicîh bîne ne ku wê wekî daneya rasteqîn [S2] derman bike. Ev lawazbûn dikare di gelek beşên pirsekê de diyar bibe, di nav de daxuyaniyên SELECT, nirxên INSERT, an UPDATE daxuyaniyên [S1].

Çareserkirin û Kêmkirina Beton

Pirsên Parametrekirî bikar bînin

Awayê herî bi bandor ji bo pêşîlêgirtina derzîlêdana SQL, karanîna pirsnameyên parameterkirî ye, ku wekî daxuyaniyên amadekirî [S1] jî têne zanîn. Li şûna berhevkirina rêzan, pêşdebiran divê mekanîzmayên birêkûpêk ên ku veqetandina daneyan û koda [S2] ferz dikin bikar bînin.

Prensîba Îmtiyaza Kêmtirîn

Pêdivî ye ku serîlêdan bi databasê ve bi karanîna îmtiyazên herî hindik ên ku ji bo karên wan hewce ne [S2] bikar bînin ve girêdin. Pêdivî ye ku hesabek serîlêdana malperê ne xwediyê îmtiyazên îdarî be û divê bi tabloyên taybetî an karûbarên ku ji bo fonksiyona wê [S2] hewce ne re were sînordar kirin.

Verastkirin û şîfrekirina têketinê

Digel ku ne şûna parametrekirinê ye, erêkirina têketinê parastina kûr [S2] peyda dike. Pêdivî ye ku serîlêdan stratejiyek qebûl-naskirî-baş bikar bînin, erê bike ku têketin bi celeb, dirêjî û formên çaverêkirî yên [S2] re têkildar e.

FixVibe çawa ji bo wê diceribîne

FixVibe jixwe derzîlêdana SQL-ê di nav modula skanerê ya dergehî ya active.sqli ve vedigire. Skandinên çalak tenê piştî verastkirin û pejirandina xwedan domainê dimeşin. Kontrol xalên dawiya GET-ê yên heman eslê xwe bi parametreyên pirsê digerîne, bersivek bingehîn saz dike, li anomaliyên boolean-a-taybetî yên SQL-ê digere, û tenê piştî erêkirina demê li ser gelek dirêjahiya derengmayînê vedîtinek radigihîne. Skenandinên depoyê di heman demê de ji hêla code.web-app-risk-checklist-backfill ve, ku bangên SQL yên xav ên ku bi navgîniya şablonê ve hatine çêkirin, destnîşan dike, dibe alîkar ku sedema bingehîn berê were girtin.