Dupa cum ati vazut pana acum, injectarile de calificare sunt foarte periculoase si sunt foarte usor de gasit la Ocker si
foarte usor de gasit.
Le veți găsi peste tot în unele site-uri foarte cunoscute.
Oamenii încearcă să prevină aceste vulnerabilități utilizând filtre.
Filtrele pot face să pară că nu există exploatații, dar dacă încercați mai greu folosind codificarea
diferitelor tipuri de codificare sau folosind un proxy, atunci veți putea ocoli majoritatea acestor filtre.
Unii programatori folosesc o listă neagră.
De exemplu, acestea împiedică utilizarea uniunii.
Împiedică utilizarea inserției și a unor chestii asemănătoare.
Din nou nu este sigur 100%.
Acesta poate fi bypassed folosind un whitelist.
Exact aceleași probleme ca și lista neagră.
Cel mai bun mod de a face acest lucru este să programați aplicația web într-un mod care să nu permită introducerea codului
în el și apoi să îl executați.
Deci, cel mai bun mod de a face acest lucru este de a face pentru a utiliza parametrizare declarație în cazul în care datele și codul este separat.
Iar cel mai bun mod de a vă arăta ce vreau să spun este că folosesc un exemplu pe care-l păstrez la cel mai mic număr de
programe.
În acest exemplu, nu vreau să fie un program și un exemplu.
De fapt, există greșeli în programarea acolo, dar încerc să vă ofer conceptul mai mult decât cum
să îl programați.
Deci, codul vulnerabil pe care îl căutam folosit pentru a face acest lucru, așa că a folosit pentru a selecta stea de la
conturile în cazul în care numele de utilizator este egal cu ceea ce am pus în caseta de text 1 și apoi am folosit pentru a pune în caseta de text 1.
Să-l punem aici.
Obișnuiam să spunem ca bărbați și apoi să închidem codul și apoi am reușit să facem o uniune selectând și executând altceva.
Apoi, odată ce am terminat, am adăugat comentariul care ignoră în esență tot ceea ce vine
după el.
Atunci când copiați acest lucru și îl puneți aici, veți vedea ce
se întâmplă.
Deci e selecție.
Acum hai să scăpăm de asta pentru că asta face doar tăierea nu este drăguță și de
fapt am de gând să pun un comentariu în această privință, așa că va face o selectare din conturile în care numele de utilizator
este egal cu Aardman Union selectați și executați orice vrem să facem.
Acest lucru este foarte rău și este foarte greu să-l protejezi.
Așa cum am spus filtre de utilizare și chestii toate sublinia doar problema nu va rezolva.
Cea mai bună modalitate de a face acest lucru este folosirea declarațiilor de parametrizare.
Deci, acesta este modul sigur de a face acest lucru.
În primul rând, vă pregătiți declarația în majoritatea limbilor ca BHB și
toate acestea au de fapt o funcție de genul ăsta și puteți să pregătiți stare selectr din conturile în care un
nume de utilizator este egal cu un semn de întrebare și apoi trimiteți valorile.
Deci, ph știm acum că instrucțiunea de calificare este selectată de stele din conturile în care numele de utilizator este egal cu
ceva și apoi are valoarea casetei de text 1.
Deci, chiar dacă venim și ne folosim declarația foarte stricată chiar aici și lipită acolo, aplicația web va ști că
valoarea pentru aceasta este admenul Uniunii selectat în viață.
Ea încearcă să meargă și să selecteze start din conturile în care numele de utilizator de utilizator și apoi de fapt
ea va adăuga propriile sale citate și ei încearcă să găsească un nume de utilizator cu următorul nume de utilizator.
Deci, tot acest lucru va fi executat ca și așa că
va fi următorul din conturile în care numele de utilizator este egal cu un număr cât mai mare de uniune selectați această hashtag.
Deci nu va pârghia niciodată ce ați pus în caseta de text va fi trimisă ca o valoare și aplicația web va ști că
aceasta este o valoare.
Nu este un cod și nu va fi executat niciodată.
Prin urmare, acest lucru vă va proteja împotriva injecțiilor cu Escurial.
Puteți folosi filtrele ca oa doua linie de apărare.
Și, de asemenea, am sfătui să folosiți cele mai puține privilegii posibile, astfel încât să se utilizeze pentru fiecare bază de date să utilizeze un utilizator cu cel mai mic număr de privilegii pe
care le doresc, astfel încât să nu permită utilizatorilor să facă nimic pe care nu le vor
permite.
Dacă este un site simplu care face selecția și permite doar utilizatorului să selecteze dacă trebuie doar să aleagă și
să insumeze, atunci îi permite doar să aleagă un răspuns.
Și aceasta este o regulă pe care trebuie să o păstrați cu tot ceea ce există chiar în existență.
Asigurați-vă că persoana cu permisiuni este întotdeauna pe cât posibil.
Fiecare utilizator nu are permisiuni suplimentare pe care nu le au nevoie.