AfĂ«rsisht njĂ« vit mĂ« parĂ«, ne nĂ« DataLine lansuam pĂ«r kĂ«rkimin dhe analizimin e dobĂ«sive nĂ« aplikacionet IT. Baza e shĂ«rbimit Ă«shtĂ« zgjidhja cloud Qualys, pĂ«r punĂ«n e sĂ« cilĂ«s . NĂ« vitin e kaluar tĂ« punĂ«s me zgjidhjen, kemi kryer 291 skanime pĂ«r faqe tĂ« ndryshme dhe kemi grumbulluar statistika mbi dobĂ«sitĂ« e zakonshme nĂ« aplikacionet web.Â
NĂ« artikullin mĂ« poshtĂ« do tĂ« tregoj se cilat vrima nĂ« sigurinĂ« e faqeve fshihen pas niveleve tĂ« ndryshme tĂ« rrezikshmĂ«risĂ«. Le tĂ« shohim cilat dobĂ«si skaneri i gjente veçanĂ«risht shpesh, pse ato mund tĂ« ndodhin dhe si tĂ« mbrohemi.Â

TĂ« gjitha dobĂ«sitĂ« e aplikacioneve web Qualys i ndan nĂ« tri nivele rrezikshmĂ«rie: tĂ« ulĂ«t, tĂ« mesĂ«m dhe tĂ« lartĂ«. NĂ«se shikojmĂ« shpĂ«rndarjen sipas "seriozitetit", duket se gjithçka nuk Ă«shtĂ« aq keq. Ka pak dobĂ«si me nivel tĂ« lartĂ« rrezikshmĂ«rie, kryesisht tĂ« gjitha janĂ« jo kritike:Â

Por jo kritike â nuk do tĂ« thotĂ« pa rrezik. Ato gjithashtu mund tĂ« shkaktojnĂ« dĂ«me tĂ« rĂ«nda.Â
Top "dobësive jo kritike"
- Dobësi të lidhura me përmbajtje të përzier.
Standardi i sigurisĂ« sĂ« faqeve Ă«shtĂ« transmetimi i tĂ« dhĂ«nave midis klientit dhe serverit sipas protokollit HTTPS, i cili mbĂ«shtet enkripcioni dhe mbron informacionin nga kapja.Â
Disa faqe pĂ«rdorin pĂ«rmbajtje tĂ« pĂ«rzier: transmetojnĂ« njĂ« pjesĂ« tĂ« tĂ« dhĂ«nave pĂ«rmes protokollit tĂ« pasigurt HTTP. Shpesh kĂ«shtu transmetohen pĂ«rmbajtje pasive â informacioni qĂ« ndikon vetĂ«m nĂ« shfaqjen e faqes: imazhe, stilset css. Por ndonjĂ«herĂ« kĂ«shtu transmetohet edhe pĂ«rmbajtje aktive: skriptet qĂ« menaxhojnĂ« sjelljen e faqes. NĂ« kĂ«tĂ« rast, me anĂ« tĂ« njĂ« programi tĂ« veçantĂ« mund tĂ« analizosh informacionin qĂ« vjen nga serveri me pĂ«rmbajtje aktive, tĂ« modifikosh pĂ«rgjigjet nĂ« mĂ«nyrĂ« tĂ« menjĂ«hershme dhe tĂ« bĂ«sh qĂ« makina tĂ« veprojĂ« ndryshe nga sa Ă«shtĂ« menduar nga krijuesit e saj.Â
Shfletuesit e versioneve tĂ« reja paralajmĂ«rojnĂ« pĂ«rdoruesit se faqet me pĂ«rmbajtje tĂ« pĂ«rzier nuk janĂ« tĂ« sigurta dhe bllokojnĂ« pĂ«rmbajtjen. Zhvilluesit e faqeve gjithashtu marrin paralajmĂ«rime nga shfletuesi nĂ« konsolĂ«. PĂ«r shembull, kĂ«shtu duket nĂ« :Â

ĂfarĂ« rreziku ka: KibernetikĂ«t pĂ«rdorin protokollin e papĂ«rmirĂ«suar pĂ«r tĂ« kapur informacionin e pĂ«rdoruesve, pĂ«r tĂ« zĂ«vendĂ«suar skriptet dhe pĂ«r tĂ« dĂ«rguar kĂ«rkesa nĂ« faqen e internetit nĂ« emrin e tij. Edhe nĂ«se vizitori i faqes nuk ka futur tĂ« dhĂ«na, kjo nuk e mbron atĂ« nga peshkimi â nxjerrja e informacionit tĂ« ndjeshĂ«m nĂ« mĂ«nyrĂ« mashtruese. PĂ«r shembull, me anĂ« tĂ« njĂ« skripti mund tĂ« ridrejtohet pĂ«rdoruesi nĂ« njĂ« faqe tĂ« pasigurt, e cila maskohet si ajo e njohur pĂ«r pĂ«rdoruesin. NĂ« raste tĂ« caktuara, faqja e keqe duket madje mĂ« mirĂ« se origjinali, dhe pĂ«rdoruesi mund ta plotĂ«sojĂ« formĂ«n dhe t'i dĂ«rgojĂ« tĂ« dhĂ«nat e ndjeshme.ÂĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: Edhe nĂ«se administratori i faqes ka instaluar dhe konfigurua certifikatĂ«n SSL/TLS, njĂ« dobĂ«si mund tĂ« ndodhĂ« pĂ«r shkak tĂ« faktorĂ«ve njerĂ«zorĂ«. PĂ«r shembull, nĂ«se nĂ« ndonjĂ« nga faqet Ă«shtĂ« vendosur njĂ« lidhje absolute me http, e jo nĂ« mĂ«nyrĂ« relative, dhe pĂ«r mĂ« tepĂ«r nuk janĂ« konfiguruar ridrejtime nga http nĂ« https.Â
Për të zbuluar përmbajtjen e përzier në faqen e internetit, mund të përdorni shfletuesin: kërkoni në kodin burimor të faqes, lexoni njoftimet në konsolën e zhvilluesit. Sidoqoftë, zhvilluesit do t'u kërkohet të kalojnë gjatë në kod. Procesin mund ta përshpejtoni me mjete automatike analize, për shembull: , softueri i lirë Lighthouse ose softueri me pagesë Screaming Frog SEO Spider.
Gjithashtu, njĂ« dobĂ«si mund tĂ« ndodhĂ« pĂ«r shkak tĂ« problemeve me kodin e vjetĂ«r â kodin qĂ« Ă«shtĂ« trashĂ«guar. PĂ«r shembull, nĂ«se disa faqe gjenerohen sipas njĂ« model tĂ« vjetĂ«r, ku nuk merret parasysh kalimi i faqeve nĂ« https.   Â
- Cookie pa flamujt âHTTPOnlyâ dhe âsecureâ.
Atributi âHTTPOnlyâ mbron skedarĂ«t e cookie nga pĂ«rpunimi nga skriptet qĂ« kibernetikĂ«t i pĂ«rdorin pĂ«r tĂ« vjedhur tĂ« dhĂ«nat e pĂ«rdoruesve. Flamuri âsecureâ nuk lejon transferimin e cookie-ve nĂ« mĂ«nyrĂ« tĂ« hapur. ShkĂ«mbimi i tĂ« dhĂ«nave do tĂ« lejohet vetĂ«m nĂ«se pĂ«r dĂ«rgimin e cookie-ve pĂ«rdoret protokolli i sigurt HTTPS.Â
Të dy atributet duhet të përshkruhen në pronësitë e cookie-ve:
Set-Cookie: Secure; HttpOnlyĂfarĂ« rreziku ka: NĂ«se zhvilluesi i faqes nuk ka specifikuar kĂ«to atribute, kibernetiku mund tĂ« kapĂ« informacionin e pĂ«rdoruesit nga cookie dhe ta pĂ«rdorĂ« atĂ«. NĂ«se cookie-t pĂ«rdoren pĂ«r autentifikim dhe autorizim, ai do tĂ« jetĂ« nĂ« gjendje tĂ« vjedhĂ« seancĂ«n e pĂ«rdoruesit dhe tĂ« kryejĂ« veprime nĂ« faqen nĂ« emrin e tij.Â
ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: NĂ« rregull, nĂ« framework-Ă«t popullorĂ«, kĂ«to atribute vendosen automatikisht. Por tĂ« kontrolloni konfigurimin e serverit web dhe tĂ« vendosni flamurin: Set-Cookie HttpOnly; Secure.
NĂ« kĂ«tĂ« rast, atributi «HTTPOnly» do t'i bĂ«jĂ« cookies tĂ« padukshĂ«m dhe pĂ«r JavaScript-in tuaj. Â
- Përgjigjet e Dëmtueshme Baze të Rrugës.
Skeneri raporton për një vulnerabilitet të tillë nëse gjen një skedar ose direktor të aksesueshëm publik të faqes me informacione potencialisht të ndjeshme. Për shembull, zb discoversf ekton skedarë të veçantë me konfigurimin e sistemit ose qasje në sistemin e skedarëve në tërësi. Kjo situatë është e mundur nëse faqa e internetit ka caktuar gabimisht të drejtat e aksesit.
ĂfarĂ« rreziku ka: NĂ«se sistemi i skedarĂ«ve «vjen jashtë», njĂ« sulmues mund tĂ« depĂ«rtojĂ« nĂ« ndĂ«rfaqen e sistemit operativ dhe tĂ« pĂ«rpiqet tĂ« gjejĂ« dosje me fjalĂ«kalime, nĂ«se ato ruhen nĂ« formĂ« tĂ« hapur (mos e bĂ«ni atĂ«!). Ose mund tĂ« vjedhĂ« hash-et e fjalĂ«kalimeve dhe tĂ« provojnĂ« t'i gjejnĂ« fjalĂ«kalimin pĂ«rmes mbushjes, si dhe tĂ« pĂ«rpiqet tĂ« rrisĂ« privilegjet nĂ« sistem dhe tĂ« avancojĂ« brenda infrastrukturĂ«s. Â
ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: Mos harroni rreth tĂ« drejtave tĂ« aksesit dhe konfiguroni platformĂ«n, serverin web, aplikacionin web, nĂ« mĂ«nyrĂ« qĂ« tĂ« mos mund tĂ« «shkoni» jashtĂ« direktorisĂ« web.
- Format për futjen e të dhënave të ndjeshme me funksionin e plotësimit automatik të aktivizuar.
NĂ«se pĂ«rdoruesi shpesh ploteson forma nĂ« faqet e internetit, shfletuesi i tij ruan kĂ«to informata me anĂ« tĂ« funksionit tĂ« plotĂ«simit automatik.Â
Format nĂ« faqet e internetit mund tĂ« pĂ«rfshijnĂ« fusha me informacione tĂ« ndjeshme, pĂ«r shembull, fjalĂ«kalime ose numra kartelash krediti. PĂ«r kĂ«to fusha, duhet tĂ« çaktivizoni funksionin e plotĂ«simit automatik nĂ« vetĂ« faqen.Â
ĂfarĂ« rreziku ka: NĂ«se shfletuesi i pĂ«rdoruesit ruan informata tĂ« ndjeshme, njĂ« sulmues mund ta kapĂ« atĂ« mĂ« vonĂ«, pĂ«r shembull, me anĂ« tĂ« phishing-ut. NĂ« thelb, zhvilluesi web, i cili harroi kĂ«tĂ« nuancĂ«, vĂ« nĂ« rrezik pĂ«rdoruesit e tij.Â
ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: NĂ« kĂ«tĂ« rast kemi njĂ« konflikt klasik: komoditeti vs siguria. NĂ«se zhvilluesi web mendon pĂ«r komfortin e pĂ«rdoruesit, ai mund tĂ« zgjedhĂ« me vetĂ«dije plotĂ«simin automatik. PĂ«r shembull, nĂ«se Ă«shtĂ« e rĂ«ndĂ«sishme tĂ« respektohet â rekomandimet pĂ«r aksesin nĂ« pĂ«rmbajtje pĂ«r pĂ«rdoruesit me aftĂ«si tĂ« kufizuara.Â
Për shumicën e shfletuesve, mund të çaktivizoni plotësimin automatik me atributin autocompete="off", për shembull:
 <body> <form action="/sq/form/submit/" method="get" autocomplete="off" data-trp-original-action="/form/submit"> <div> <input type="text" placeholder="Emri"> </div> <div> <input type="text" id="lname" placeholder="Mbiemri" autocomplete="on"> </div> <div> <input type="number" placeholder="Numri i kartës së kreditit"> </div> <input type="submit"> <input type="hidden" name="trp-form-language" value="sq"/></form> </body>Por pĂ«r Chrome kjo nuk do tĂ« funksionojĂ«. Kjo anashkalohet me anĂ« tĂ« JavaScript, njĂ« variant i recetĂ«s mund tĂ« gjendet. .Â
- NĂ« kodin e faqes sĂ« internetit nuk Ă«shtĂ« caktuar titulli X-Frame-Options.Â
Ky titull ndikon në etiketat frame, iframe, embed ose object. Me të mund të ndalohet plotësisht përfshirja e faqes suaj në një frame. Për këtë, duhet të caktohet vlera X-Frame-Options: deny. Ose mund të caktohet X-Frame-Options: sameorigin, atëherë përfshirja në iframe do të jetë e disponueshme vetëm në domenin tuaj.
ĂfarĂ« rreziku ka: Mungesa e njĂ« titulli tĂ« tillĂ« mund tĂ« pĂ«rdoret nĂ« faqe tĂ« dĂ«mshme pĂ«r clickjacking. PĂ«r njĂ« sulm tĂ« tillĂ«, sulmuesi krijon njĂ« frame transparent mbi butonat dhe e mashtron pĂ«rdoruesin. PĂ«r shembull: mashtruesit vendosin nĂ« frame nĂ« faqen e dĂ«mshme tĂ« rrjeteve sociale. PĂ«rdoruesi mendon se po klikon mbi njĂ« buton nĂ« kĂ«tĂ« faqĂ«. NĂ« vend tĂ« kĂ«saj, kliku mbulon dhe dĂ«rgon njĂ« kĂ«rkesĂ« tĂ« pĂ«rdoruesit nĂ« rrjetin social, ku ka njĂ« sesion aktiv. NĂ« kĂ«tĂ« mĂ«nyrĂ«, sulmuesit shpĂ«rndajnĂ« spam nĂ« emĂ«r tĂ« pĂ«rdoruesit ose rrisin ndjekĂ«sit dhe like-t.Â
NĂ«se nuk e ndaloni njĂ« mundĂ«si tĂ« tillĂ«, sulmuesi mund tĂ« vendosĂ« butonin e aplikacionit tuaj nĂ« njĂ« faqe tĂ« dĂ«mshme. Ai mund tĂ« ketĂ« interes nĂ« programin tuaj referral ose te pĂ«rdoruesit tuaj. Â
ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: NjĂ« vulnerabilitet mund tĂ« shfaqet nĂ«se X-Frame-Options me njĂ« vlerĂ« konfliktuese Ă«shtĂ« caktuar nĂ« serverin web ose balancuesin e ngarkesĂ«s. NĂ« kĂ«tĂ« rast, serveri dhe balancuesi i ngarkesĂ«s do ta rishkruajnĂ« thjesht titullin, pasi kanĂ« pĂ«rparĂ«si mĂ« tĂ« lartĂ« nĂ« krahasim me kodin e pjesĂ«s sĂ« prapme. Â
Vlerat deny dhe sameorigin të titullit X-Frame-Options do të pengojnë funksionimin e webvizorit të Yandex. Për të lejuar përdorimin e iframe për webvizorin, duhet të shkruani një rregull të veçantë në cilësimet. Për shembull, për nginx mund të konfigurohet kështu:
http{ ...  map $http_referer $frame_options {  "~webvisor.com" "ALLOW-FROM http://webvisor.com";  default "SAMEORIGIN";  }  add_header X-Frame-Options $frame_options; ... } - Vulnerabilitetet PRSSI (Importimi i stilit tĂ« rrugĂ«s relative). Â
Ky Ă«shtĂ« njĂ« vulnerabilitet nĂ« stilin e faqes. Ai shfaqet nĂ«se pĂ«r qasjen nĂ« skedarĂ«t e stilit pĂ«rdoren lidhje relative si href="/somefolder/styles.css/". Sulmuesi do ta pĂ«rdorĂ« kĂ«tĂ«, nĂ«se gjen njĂ« mĂ«nyrĂ« pĂ«r ta kaluar pĂ«rdoruesin nĂ« njĂ« faqe tĂ« dĂ«mshme. Faqja do t'i japĂ« lidhjes relative nĂ« url-in e saj dhe do tĂ« imitojĂ« qasjen nĂ« stilin. Do tĂ« rezultojĂ« njĂ« kĂ«rkesĂ« si badsite.ru/.../somefolder/styles.css/, e cila nĂ«n pretekstin e stilit mund tĂ« kryejĂ« veprime tĂ« dĂ«mshme.Â
ĂfarĂ« rreziku ka: NjĂ« mashtrues mund tĂ« pĂ«rfitojĂ« nga kjo dobĂ«si nĂ«se gjen njĂ« tjetĂ«r vrimĂ« nĂ« siguri. Si rezultat, kĂ«shtu mund tĂ« vidhen tĂ« dhĂ«nat e pĂ«rdoruesit nga cookies ose tokenĂ«t.
ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: Shtoni titullin X-Content-Type-Options: nosniff. NĂ« kĂ«tĂ« rast, shfletuesi do tĂ« kontrollojĂ« llojin e pĂ«rmbajtjes pĂ«r stilet. NĂ«se lloji Ă«shtĂ« ndryshe nga text/css, shfletuesi do ta bllokojĂ« kĂ«rkesĂ«n.
Dobësitë kritike
- Faqja me fushën për fjalëkalim dërgohet nga serveri përmes një kanali të pa sigurt (HTML form containing password field(s) is served over HTTP).
PĂ«rgjigjja nga serveri pĂ«r njĂ« kanal tĂ« pa kriptuar Ă«shtĂ« e prirur ndaj sulmeve tĂ« tipit «Man in the middle». NjĂ« sulmues mund tĂ« kapĂ« trafikun dhe tĂ« ndĂ«rhyjĂ« ndĂ«rmjet klientit dhe serverit, kur faqa shkon nga serveri te klienti.Â
ĂfarĂ« rreziku ka: NjĂ« mashtrues mund tĂ« zĂ«vendĂ«sojĂ« faqen dhe t'i dĂ«rgojĂ« pĂ«rdoruesit njĂ« formĂ« pĂ«r tĂ« dhĂ«nat e ndjeshme, tĂ« cilat do tĂ« shkojnĂ« nĂ« serverin e sulmuesit.Â
ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: Disa vende nĂ« vend tĂ« fjalĂ«kalimit dĂ«rgojnĂ« pĂ«rdoruesve njĂ« kod tĂ« vetĂ«m pĂ«rmes emailit/telefonit. NĂ« kĂ«tĂ« rast, dobĂ«sia nuk Ă«shtĂ« aq kritike, por mekanizmi do ta komplikohet jetĂ«n pĂ«rdoruesve.
- Dërgimi i formularit me emër përdoruesi dhe fjalëkalim përmes një kanali të pa sigurt (Login Form Is Not Submitted Via HTTPS).
Në këtë rast, nga përdoruesi në server dërgohet një formular me emër përdoruesi dhe fjalëkalim përmes një kanali të pa kriptuar.
ĂfarĂ« rreziku ka: Ndryshe nga rastin e mĂ«parshĂ«m, kjo Ă«shtĂ« njĂ« dobĂ«si kritike. Kapja e tĂ« dhĂ«nave tĂ« ndjeshme Ă«shtĂ« mĂ« e lehtĂ«, pasi as nuk Ă«shtĂ« nevoja tĂ« shkruani kod pĂ«r tĂ«.Â
- Përdorimi i librarive JavaScript me dobësi të njohura.
GjatĂ« skanimit, biblioteka mĂ« e pĂ«rdorur u bĂ« jQuery me njĂ« gamĂ« tĂ« gjerĂ« versionesh. NĂ« secilĂ«n version ka tĂ« paktĂ«n njĂ«, ndonjĂ«herĂ« edhe mĂ« shumĂ« dobĂ«si tĂ« njohura. Ndikimi mund tĂ« jetĂ« nga mĂ« tĂ« ndryshmet â varet nga natyra e dobĂ«sisĂ«.
ĂfarĂ« rreziku ka: PĂ«r dobĂ«si tĂ« njohura ka eksploite, pĂ«r shembull kĂ«to:

ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: Kthehuni rregullisht nĂ« cikĂ«l: kĂ«rkimi i dobĂ«sive tĂ« njohura â eliminimi â kontrolli. NĂ«se po pĂ«rdorni libra tĂ« vjetruar me vetĂ«dije, pĂ«r shembull pĂ«r tĂ« mbĂ«shtetur shfletues tĂ« vjetĂ«r ose pĂ«r tĂ« kursyer buxhetin, kĂ«rkoni mundĂ«si pĂ«r tĂ« eliminuar dobĂ«sinĂ« e njohur. - Scripts ndĂ«r-sajtesh (XSS).Â
Cross-Site Scripting (XSS), ose skriptet ndër-site, janë sulme ndaj aplikacioneve në ueb, ku për pasojë shfaqet malware në bazën e të dhënave. Nëse Qualys gjen një dobie, atëherë një sulmues potencial mund të ketë introduktuar ose tashmë ka introduktuar në kodin e faqes së internetit skriptin e tij js për të kryer veprime të dëmshme.XSS të Ruajtura (Stored XSS) janë më të rrezikshme, pasi skripti introduktohet në server dhe ekzekutohet çdo herë kur hapet faqja e sulmuar në shfletues.
XSS të Reflektuar (Reflected XSS) janë më të lehtë për t'u realizuar, pasi skripti keqbërës mund të introduktohet në kërkesën HTTP. Aplikacioni do marrë kërkesën HTTP, nuk do ta kontrollojë të dhënën, do ta paketojë dhe menjëherë do ta dërgojë. Nëse sulmuesi kap trafikun dhe fut skriptin e tipit
/*+diçka+e+keqe+*/atëherë një kërkesë e dëmshme do të dërgohet në emër të klientit.
NjĂ« shembull i dukshĂ«m i XSS: js-sniferĂ«t, tĂ« cilĂ«t imitojnĂ« faqe pĂ«r futjen e CVC, afatit tĂ« skadencĂ«s sĂ« kartĂ«s dhe kĂ«shtu me radhĂ«.Â
ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: NĂ« titullin Content-Security-Policy pĂ«rdorni atributin script-src, pĂ«r tĂ« siguruar qĂ« shfletuesi i klientit tĂ« ngarkojĂ« dhe tĂ« ekzekutojĂ« vetĂ«m kod nga njĂ« burim i besueshĂ«m. PĂ«r shembull, script-src âselfâ nĂ« listĂ«n e bardhĂ« pĂ«rfshin tĂ« gjithĂ« skriptet vetĂ«m nga faqja jonĂ«.Â
Praktika mĂ« e mirĂ« Ă«shtĂ« tĂ« lejoni vetĂ«m kodin Inline: lejoni vetĂ«m javascript inline me vlerĂ«n unsafe-inline. Kjo vlerĂ« lejon pĂ«rdorimin e js/css inline, por nuk ndalon ngarkimin e skedarĂ«ve js. NĂ« kombinim me script-src âselfâ ndalojmĂ« ekzekutimin e skenarĂ«ve tĂ« jashtĂ«m.Sigurohuni tĂ« regjistroni gjithçka duke pĂ«rdorur report-uri dhe shqyrtoni pĂ«rpjekjet pĂ«r introduktim nĂ« faqe.
- Injeksionet SQL.
Dobia tregon mundĂ«sinĂ« e introduktimit tĂ« kodit SQL nĂ« faqe, i cili drejtohet direkt nĂ« bazĂ«n e tĂ« dhĂ«nave tĂ« faqes. Injeksioni SQL Ă«shtĂ« i mundshĂ«m nĂ«se tĂ« dhĂ«nat nga pĂ«rdoruesi nuk janĂ« tĂ« shenjuara: nuk kontrollohen pĂ«r korrektĂ«si dhe pĂ«rdoren menjĂ«herĂ« nĂ« kĂ«rkesĂ«. PĂ«r shembull, kĂ«shtu ndodh nĂ«se forma nĂ« faqe nuk kontrollon pĂ«rputhshmĂ«rinĂ« e hyrjes me tipin e tĂ« dhĂ«nave.ÂĂfarĂ« rreziku ka: NĂ«se njĂ« sulmues fut njĂ« kĂ«rkesĂ« SQL nĂ« njĂ« formĂ« tĂ« tillĂ«, ai mund tĂ« shkatĂ«rrojĂ« bazĂ«n e tĂ« dhĂ«nave ose tĂ« nxjerrĂ« informacion tĂ« ndjeshĂ«m.Â
ĂfarĂ« duhet tĂ« mbajĂ« mend zhvilluesi i uebit: Mos i besoni asaj qĂ« vjen nga shfletuesi. Duhet tĂ« mbroheni edhe nĂ« anĂ«n e klientit, edhe nĂ« anĂ«n e serverit.Â
NĂ« anĂ«n e klientit, shkruani verifikimin e fushave me ndihmĂ«n e JavaScript.Â
Funksionet e ndërtuara në frameworket e njohura gjithashtu ndihmojnë në ekranuar simbolet e dyshimta në server. Në server, është gjithashtu e rekomanduar të përdoren kërkesat e parametrizuara për bazat e të dhënave.
PĂ«rcaktoni saktĂ«sisht ku ndodh ndĂ«rveprimi me bazĂ«n e tĂ« dhĂ«nave nĂ« aplikacionin web.Â
Ndërveprimi ndodh kur ne marrim ndonjë informacion: një kërkesë me id (ndryshimi i id), krijimi i një përdoruesi të ri, një koment i ri, - regjistrime të reja në bazë. Këtu mund të ndodhin sql-injeksione. Edhe nëse fshijmë një regjistrim nga baza, mund të ndodhi sql-injeksioni.
Rekomandime të përgjithshme
Mos shpikni biçikletĂ«n â pĂ«rdorni frameworke tĂ« provuara. NĂ« pĂ«rgjithĂ«si, frameworket e njohura janĂ« mĂ« tĂ« sigurta. PĂ«r .NET â ky Ă«shtĂ« ASP.NET MVC dhe ASP.NET Core, pĂ«r Python â Django ose Flask, pĂ«r Ruby â Ruby on Rails, pĂ«r PHP â Symfony, Laravel, Yii, pĂ«r JavaScript â Node.JS- Express.js, pĂ«r Java â Spring MVC.
Merrni parasysh azhurnimet e ofruesit dhe azhurnoni rregullisht. Do të gjejnë një dobësi, pastaj do të shkruajnë një exploit, do ta publikojnë në akses publik, dhe gjithçka do të përsëritet përsëri. Regjistrohuni për azhurnime deri në versionet stabile nga ofruesi i softuerit.
Kontrolloni të drejtat e aksesit. Nga ana e serverit, gjithmonë trajtoni kodin tuaj sikur të ishte shkruar nga armiku juaj më i urryer, i cili dëshiron të thyejë faqen tuaj dhe të dëmtojë integritetin e të dhënave tuaja. Sidomos, ndonjëherë, kjo vërtet ndodh.
PĂ«rdorni klonime, ambiente testimi, dhe pastaj derdhni nĂ« prodhim. Kjo do tĂ« ndihmojĂ«, sĂ« pari, tĂ« shmangni gabimet dhe mangĂ«sitĂ« nĂ« ambientin produktiv: ambienti produktiv sjell para, ndalimi i ambientit produktiv Ă«shtĂ« kritik. Kur shtoni, korrigjoni ose mbyllni ndonjĂ« problem, Ă«shtĂ« e rĂ«ndĂ«sishme tĂ« bĂ«ni punĂ«t nĂ« njĂ« mjedis testimi, pastaj tĂ« kontrolloni funksionalitetin dhe dobĂ«sitĂ« e gjetura, dhe pastaj tĂ« planifikoni punĂ«t me ambientin produktiv.Â
Mbroni aplikacionin web me dhe integro shkresa nga skaneri i dobësive. Për shembull, në DataLine si lidhje shërbimesh përdoren Qualys dhe FortiWeb.
Burimi: habr.com


