SQL Injection Scanner Tools
Codul slab al aplicației web poate permite hackerilor accesul la baza de date și la rețea
SQL Injection Overview
SQL injection este în prezent cea mai comună formă de atac pe site-ul web, deoarece formularele web sunt foarte frecvente, adesea nu sunt codificate corect, iar instrumentele de hacking utilizate pentru a găsi punctele slabe și a profita de ele sunt disponibile în mod obișnuit online. Acest tip de exploatare este suficient de ușor pentru a realiza că chiar și hackerii neexperimentați pot realiza răutăți. Cu toate acestea, în mâinile hackerului foarte priceput, o slăbiciune a codului web poate dezvălui accesul la nivel de rădăcină al serverelor web și de acolo pot fi realizate atacuri asupra altor servere în rețea.
Structured Query Language (SQL) este limbajul aproape universal al bazelor de date care permite stocarea, manipularea și recuperarea datelor. Bazele de date care utilizează SQL includ MS SQL Server, MySQL, Oracle, Access și Filemaker Pro, iar aceste baze de date sunt supuse în mod egal atacului SQL injection.
formularele bazate pe Web trebuie să permită accesul la baza de date pentru a permite introducerea de date și un răspuns, astfel încât acest tip de atac ocolește firewall-urile și apărarea punctului final. Orice formular web, chiar și un simplu formular de conectare sau o casetă de căutare, ar putea oferi acces la datele dvs. prin intermediul injecției SQL dacă este codificat incorect.
cum funcționează SQL Injection
potențialii, clienții, angajații și partenerii de afaceri pot avea toate dreptul de a stoca sau de a prelua informații din Baza de date. Site-ul dvs. permite probabil oricărui vizitator al site-ului să trimită și să recupereze date. Accesul legitim pentru vizitatori include căutarea site-ului, formularele de înscriere, formularele de contact, formularele de conectare și toate acestea oferă ferestre în baza dvs. de date. Aceste puncte de acces diferite sunt destul de probabil încorporate în aplicațiile off-the-shelf sau pot fi aplicații personalizate configurate doar pentru site-ul dvs. Aceste forme și Codul lor de sprijin au venit probabil din mai multe surse, au fost achiziționate în momente diferite și, eventual, instalate de persoane diferite.
SQL injection este utilizarea acestor câmpuri disponibile public pentru a obține intrarea în baza de date. Acest lucru se face prin introducerea comenzilor SQL în câmpurile de formular în loc de datele așteptate. Formularele codificate necorespunzător vor permite unui hacker să le utilizeze ca punct de intrare în baza de date, moment în care datele din Baza de date pot deveni vizibile și accesul la alte baze de date de pe același server sau alte servere din rețea poate fi posibil.
caracteristicile site-ului Web, cum ar fi formularele de contact, paginile de conectare, cererile de asistență, funcțiile de căutare, câmpurile de feedback, coșurile de cumpărături și chiar funcțiile care furnizează conținut dinamic al paginii web, sunt susceptibile de atac SQL injection, deoarece chiar câmpurile prezentate pentru utilizarea vizitatorilor trebuie să permită cel puțin unor comenzi SQL să treacă direct în baza de date.
risc de injecție SQL
deoarece bazele de date controlează multe funcții ale site-ului web, aproape toate site-urile web invită intrări de la vizitatori și atât de multe formulare web sunt vulnerabile, injecția SQL a devenit și de ani de zile a rămas cea mai comună formă de instrument de hacking pentru site-ul web folosit. În plus, atât de mulți infractori folosesc acum injecția SQL, încât noile puncte slabe ale serverului, aplicației și Codului sunt descoperite aproape zilnic.
propriile noastre înregistrări indică faptul că majoritatea (peste jumătate) dintre site-urile web pe care ni s-a cerut să le scanăm au avut riscuri de injecție SQL de nivel ridicat sau mediu. Un nivel ridicat de risc este unul care este efectiv o ușă deblocată, nepăzită. Un risc mediu este unul care, atunci când este combinat cu unul sau mai mulți alți factori, ar putea însemna probleme. Un număr și mai mare de site-uri au avut probleme cu risc scăzut. Ce trebuie să știți: procentul de site-uri care au cel puțin un risc major este de fapt în creștere.
chiar dacă SQL injection a fost o problemă cunoscută de ani de zile, există mai mulți factori care determină creșterea ratei de risc. În primul rând este că mai multe companii oferă mai multe site-ul web interacțiunea cu vizitatorii și această tendință este în creștere dramatic. În al doilea rând, pe măsură ce mai mulți hackeri dobândesc abilități în injecția SQL, descoperă mai multe aplicații și servicii care sunt susceptibile de atac și dezvoltă noi atacuri asupra aplicațiilor vechi. Rezultatul este o creștere aproape exponențială a oportunităților de a utiliza această metodă de atac.
riscul dvs. de a fi atacat cu succes folosind SQL injection se bazează pe doi factori: natura și dimensiunea afacerii dvs. și vârsta, starea actualizărilor și patch-urilor din aplicațiile dvs. și abilitatea și numărul personalului dvs. tehnic. Se reduce la dacă sunteți o țintă interesantă și dacă serverul dvs. web, aplicațiile de pe acesta și Codul site-ului dvs. web sunt bine concepute, bine integrate și au toate patch-urile și actualizările actuale.
site-ul dvs. este în pericol imediat dacă compania dvs. stochează date de mare valoare, dacă compania sau entitatea dvs. operează într-un domeniu de afaceri foarte contestat sau dacă site-ul dvs. are importanță sau valoare politică sau socială. Desigur, dacă aveți ceva de valoare monetară, atunci sunteți o țintă. Dar sunteți, de asemenea, o țintă dacă site-ul dvs. este un lider de opinie într-un mediu controversat. Am fost solicitați de bloggeri pentru ajutor, deoarece subiectul acoperit acolo a atras atacuri de injecție SQL.
atacurile de injecție SQL sunt acum solicitate online. Un client supărat, un concurent sau chiar un fost soț poate angaja cu ușurință un ‘script kiddie’ – sau, mai rău, un hacker talentat – pentru a ataca un site. Șansa ca hackerul să fie prins este scăzută. Șansa ca partea supărată să poată provoca daune site-ului dvs. fără a fi degete ca partea responsabilă este mare.
din punct de vedere tehnic, sunteți expus riscului de injecție SQL dacă aveți orice echipament sau aplicații care nu au fost actualizate și patch-uri de rutină sau dacă aveți cod pe site-ul dvs. care nu a fost scris corect. Vârsta echipamentului, aplicațiile și Codul reprezintă un indicator dur al riscului. Un alt este numărul de servere implicate, numărul de aplicații și numărul de puncte de acces site-ul web. Dacă utilizați servere găzduite sau dacă utilizați resurse tehnice externalizate, atunci este importantă o revizuire terță parte a securității site-ului dvs. Și chiar și personalul intern poate fi atât de presat de timp și scurt de resurse, încât actualizările și patch-urile pot fi întârziate sau codul vechi vechi se utilizează fără o revizuire adecvată.
SQL Injection exemplu
de fiecare dată când un vizitator site-ul web introduce date într-un formular pe site-ul dvs. o interogare SQL este generat și livrate la baza de date. În cazul unui formular simplu de conectare, numele de utilizator și parola sunt prezentate bazei de date și, dacă sunt valabile, baza de date răspunde cu un răspuns și utilizatorului i se permite accesul (sau nu). Deci, indiferent cât de simplu este formularul sau procesul web, este necesar accesul la baza de date și se așteaptă un răspuns.
folosind SQL injection, un hacker va încerca să introducă o comandă SQL special creată într-un câmp de formular în loc de informațiile așteptate. Intenția este de a asigura un răspuns din Baza de date care va ajuta hackerul să înțeleagă construcția bazei de date, cum ar fi numele tabelelor. Următorul pas ar fi accesarea și vizualizarea datelor în tabele importante sau adăugarea de date în tabele, cum ar fi adăugarea de conturi noi sau nume de utilizator și parole. Al treilea pas, aproximativ, ar fi utilizarea accesului la baza de date pentru a descoperi și modifica setările de securitate pe un server care ar permite accesul administrativ al unui hacker.
orice limbaj de script dinamic, inclusiv ASP, ASP.NET, PHP, JSP, și CGI este vulnerabil la atac. Singurul echipament necesar este un browser web. Există instrumente disponibile pe scară largă online care vor semi-automatiza procesul de căutare a punctelor slabe și există multe forumuri în care hackerii împărtășesc exploatări și se ajută reciproc să depășească obstacolele.
rezultate SQL Injection
după cum vă puteți imagina, un hacker care obține acces administrativ la serverul dvs. înseamnă că veți fi pierdut efectiv toate datele de pe acel server invadatorului. Mai rău, există acum un cap de pod în spatele firewall-ului dvs. din care se pot face acum atacuri asupra altor servere și servicii. În acest fel, SQL injection poate oferi acces la toate datele companiei sau personale.
din punctul de vedere al unui hacker, o parte componentă a hack-ului care este aproape la fel de importantă ca spargerea este menținerea secretului. Declanșarea unei alarme este ultimul lucru pe care vor să-l facă. Munca lor de infiltrare necesită timp și adesea valoarea datelor furate scade dacă furtul este descoperit (informații de valoare în furtul de identitate sau furtul cardului de credit, de exemplu). Astfel, hack-urile de injecție SQL sunt adesea descoperite luni și, în unele cazuri, ani după inițierea lor.
alternativ, dacă daunele directe sunt intenția, atunci nu există lipsă de lucruri rele care pot fi făcute unei baze de date Odată ce cineva a obținut acces la comenzile care rulează. Un întreg tabel poate fi șters definitiv folosind o singură comandă SQL. Cu toate acestea, un atac de injecție SQL mai sofisticat ar putea implica corupția masivă a bazelor de date mari și chiar distrugerea copiilor de rezervă.
apărare împotriva SQL Injection
deoarece site-urile web necesită acces constant la baza de date, firewall-urile oferă puțină sau deloc apărare împotriva atacurilor SQL injection. Site-ul dvs. web este public și firewall-urile trebuie să fie setate pentru a permite fiecărui vizitator al site-ului accesul la baza dvs. de date, de obicei peste portul 80/443.
programele Antivirus sunt la fel de ineficiente la blocarea atacurilor de injecție SQL. Acestea sunt destinate să identifice și să oprească un tip complet diferit de date primite.
cea mai frecvent utilizată apărare prin injecție SQL este alcătuită din două componente. În primul rând există actualizarea de rutină și patch-uri de toate serverele, servicii și aplicații care, desigur, are multe avantaje și este o practică comună. Apoi, se produce și se utilizează un cod de site web bine scris și bine testat, care nu permite comenzile SQL neașteptate.
aceste două apărări sunt, prin definiție, suficiente pentru a opri orice atac de injecție SQL. Deci, de ce vulnerabilitățile și riscurile site-ului web sunt în creștere și de ce atacurile de succes apar mai des? Răspunsurile sunt simple și se combină într – o listă descurajantă:
- numărul de servere, aplicații și volumul de cod pe site-urile web este în creștere
- aceste servere, aplicații și limbaje de cod interacționează unele cu altele în moduri uneori imprevizibile
- numărul și frecvența actualizărilor și patch-urilor este în creștere
- departamentele IT fac mai multă muncă cu mai puțini angajați și unele activități, cum ar fi actualizările, se amână
- cifra de afaceri a personalului IT și disponibilizările lasă uneori găuri camuflate în rutinele de securitate
- instalarea automată a fiecărui patch și actualizare care apare adesea produce efecte secundare nedorite
- codul vechi este adesea reutilizat atunci când Site-urile sunt actualizate, uneori păstrând codul scris la standarde vechi în uz mult timp după ce a fost învechit
- numărul de persoane care încearcă să facă hacks și numărul de instrumente disponibile pentru a simplifica hacking-ul cresc aproape exponențial
din ce în ce mai multe companii cu factori de risc uriași și ‘amprente’ web mari ajung să concluzioneze că patch-ul totul și angajarea mai multor angajați pentru munca personalului existent nu mai este viabilă.
web site SQL Injection Scanner tool Solution
noua soluție pentru atacurile SQL injection (și toate celelalte atacuri bazate pe web) este să se concentreze timp limitat și valoros pe riscurile grave care sunt de fapt prezente, mai degrabă decât să folosească o abordare pușcă și să aplice orice soluție posibilă pentru fiecare server, fiecare aplicație și fiecare pagină de cod dacă a fost nevoie sau nu. Această nouă abordare este ca și cum un medic să evalueze un pacient și să interzică singurul medicament necesar pentru a produce un remediu, mai degrabă decât ca pacientul să meargă direct la farmacie pentru a obține toate medicamentele posibile și a le lua pe toate simultan.
astfel, o mai mare securitate se realizează prin utilizarea instrumentelor de testare a aplicațiilor web, cum ar fi beSECURE, ca instrument de scanare a injecției SQL pentru a examina (scana) un site web folosind o listă de mii de atacuri cunoscute și apoi a raporta relativ puține (de obicei mai puțin de o duzină) probleme grave.
scanarea site-ului web funcționează pe baza depistării și raportării riscurilor cunoscute. Hacking-ul comun este o activitate foarte publică. Instrumentele sunt promovate pe scară largă. Tehnicile sunt larg răspândite în forumurile publice. Chiar și noile metode devin publice în câteva ore sau zile de la prima utilizare, datorită unor grupuri precum SecuriTeam.com și alții care veghează și apoi îi avertizează pe alții.
BeSECURE, sistemul automat de detectare a vulnerabilităților, este un serviciu bazat pe web care utilizează o compilație a tuturor riscurilor cunoscute în familii și toate familiile într-o singură bază de date care a durat mulți ani pentru a compila și multe ore pe zi pentru a le menține. Folosind această bază de date beSECURE poate evalua orice site web și produce un raport de riscuri reale și prezente evaluat în funcție de importanța lor relativă – de multe ori în câteva ore și fără a perturba activitățile site-ului în curs de desfășurare.
acum, Puteți să vă luați orele de om it valoroase și să abordați direct riscurile reale, cum ar fi injecția SQL, mai degrabă decât să petreceți sute de ore instalând patch-uri și actualizări, dintre care majoritatea nu aveți nevoie sau care gestionează riscuri atât de mici încât să fie neglijabile.
pentru mai multe informatii despre beSECURE va rugam sa folositi formularul de pe aceasta pagina sau sa ne contactati.