FixVibe
Covered by FixVibecritical

Iniezione SQL: Impedisce l'accessu micca autorizatu à a basa di dati

L'iniezione SQL (SQLi) hè una vulnerabilità critica induve l'attaccanti interferiscenu cù e dumande di basa di dati di l'applicazione. Injecting sintassi SQL maliciosa, l'attaccanti ponu aggira l'autentificazione, vede dati sensibili cum'è password è dati di carte di creditu, o ancu cumprumette u servitore sottostante.

CWE-89

Impattu di SQL Injection

L'iniezione SQL (SQLi) permette à un attaccu di interferiscenu cù e dumande chì una applicazione fa à a so basa di dati [S1]. L'impattu primariu include l'accessu micca autorizatu à e dati sensittivi cum'è password d'utilizatori, dati di carte di creditu è ​​infurmazione persunale [S1].

Al di là di u furtu di dati, l'attaccanti ponu spessu mudificà o sguassà i registri di basa di dati, chì portanu à cambiamenti persistenti in u cumpurtamentu di l'applicazione o a perdita di dati [S1]. In i casi di alta gravità, SQLi pò esse scalatu per cumprumette l'infrastruttura back-end, attivà attacchi di denial-of-service, o furnisce una backdoor persistente in i sistemi di l'urganizazione [S1][S2].

Root Cause: Trattamentu di l'input inseguru

A causa principale di l'injection SQL hè a neutralizazione impropria di elementi speciali utilizati in un cumandamentu SQL [S2]. Questu accade quandu una applicazione custruisce e dumande SQL cuncatenendu input influenzatu esternamente direttamente in a stringa di query [S1][S2].

Perchè l'input ùn hè micca isolatu bè da a struttura di a dumanda, l'interprete di a basa di dati pò eseguisce parti di l'input di l'utilizatori cum'è codice SQL invece di trattà cum'è dati literal [S2]. Questa vulnerabilità pò esse manifestata in diverse parti di una dumanda, cumprese dichjarazioni SELECT, valori INSERT, o dichjarazioni UPDATE [S1].

Correzioni concrete è mitigazioni

Utilizà e dumande parametrizzate

U modu più efficau per prevene l'iniezione SQL hè l'usu di e dumande parametrizzate, cunnisciute ancu com'è dichjarazioni preparate [S1]. Invece di concatenating strings, i sviluppatori anu da utilizà miccanismi strutturati chì impone a separazione di dati è codice [S2].

Principiu di Least Privilege

L'applicazioni anu da cunnette à a basa di dati utilizendu i privilegi più bassi necessarii per i so compiti [S2]. Un contu di l'applicazione web ùn deve micca avè privilegi amministrativi è deve esse limitatu à e tavule specifiche o operazioni necessarie per a so funzione [S2].

Validazione di input è codificazione

Mentre ùn hè micca un sustitutu per a parametrizzazione, a validazione di l'input furnisce [S2] di difesa in prufundità. L'applicazioni duveranu aduprà una strategia accettata-cunnisciuta-bona, cunvalidendu chì l'input currisponde à i tipi, lunghezze è formati previsti [S2].

Cumu FixVibe prova per questu

FixVibe copre digià l'iniezione SQL attraversu u modulu di scanner gated active.sqli. I scans attivi sò eseguiti solu dopu a verificazione è l'attestazione di a pruprietà di u duminiu. U cuntrollu rastrea l'endpoint GET di listessa origine cù parametri di dumanda, stabilisce una risposta di basa, cerca anomalie booleane specifiche di SQL, è raporta solu una scuperta dopu a cunferma di timing in parechje lunghezze di ritardu. I scans di repository aiutanu ancu à catturà a causa radicale prima attraversu code.web-app-risk-checklist-backfill, chì marca e chjama SQL crude custruite cù l'interpolazione di mudelli.