SQL Injection Scanner Tools

svag web app code kan tillåta hackare tillgång till din databas och nätverk

SQL Injection översikt

SQL injection är för närvarande den vanligaste formen av webbplats attack i att webbformulär är mycket vanliga, ofta de inte kodas på rätt sätt och hackerverktyg som används för att hitta svagheter och dra nytta av dem är allmänt tillgängliga online. Denna typ av exploatering är lätt att åstadkomma att även oerfarna hackare kan åstadkomma Bus. Men i händerna på den mycket skickliga hackaren kan en webbkodsvaghet avslöja rotnivååtkomst för webbservrar och därifrån kan attacker på andra nätverksservrar åstadkommas.

Structured Query Language (SQL) är det nästan universella språket i databaser som tillåter lagring, manipulation och hämtning av data. Databaser som använder SQL inkluderar MS SQL Server, MySQL, Oracle, Access och Filemaker Pro och dessa databaser är lika föremål för SQL injection attack.

webbaserade formulär måste tillåta viss åtkomst till din databas för att tillåta inmatning av data och ett svar, så den här typen av attack kringgår brandväggar och slutpunktsförsvar. Alla webbformulär, till och med en enkel inloggningsformulär eller sökruta, kan ge åtkomst till dina data med hjälp av SQL-injektion om de kodas felaktigt.

hur SQL Injection fungerar

Prospects, kunder, anställda och affärspartners kan alla ha rätt att lagra eller hämta information från din databas. Din webbplats tillåter förmodligen alla webbplatsbesökare att skicka in och hämta data. Legitim åtkomst för besökare inkluderar webbplatssökning, registreringsformulär, kontaktformulär, inloggningsformulär och alla dessa ger fönster i din databas. Dessa olika åtkomstpunkter är möjligen införlivade i ’Off-the-shelf’ – applikationer eller kan vara anpassade applikationer som är inställda bara för din webbplats. Dessa former och deras stödjande kod har sannolikt kommit från många källor, förvärvades vid olika tidpunkter och eventuellt installeras av olika personer.

SQL injection är användningen av dessa allmänt tillgängliga fält för att få tillträde till din databas. Detta görs genom att ange SQL-kommandon i dina formulärfält istället för förväntade data. Felaktigt kodade formulär gör det möjligt för en hacker att använda dem som en ingångspunkt till din databas vid vilken tidpunkt data i databasen kan bli synliga och tillgång till andra databaser på samma server eller andra servrar i nätverket kan vara möjligt.

webbplatsfunktioner som kontaktformulär, inloggningssidor, supportförfrågningar, sökfunktioner, feedbackfält, kundvagnar och till och med de funktioner som levererar dynamiskt webbsidans innehåll är alla mottagliga för SQL-injektionsattack eftersom de fält som presenteras för besökare måste tillåta åtminstone vissa SQL-kommandon att passera direkt till databasen.

SQL Injection Risk

eftersom databaser styr många webbplatsfunktioner, nästan alla webbplatser bjuda in input från besökare och så många webbformulär är sårbara, SQL injektion har blivit och för år förblev den vanligaste formen av webbplats hacka verktyg som används. Dessutom använder så många brottslingar nu SQL-injektion att nya server -, applikations-och kodsvagheter upptäcks nästan dagligen.

våra egna register visar att de flesta (över hälften) av de webbplatser Vi har blivit ombedda att skanna hade SQL-injektionsrisker av antingen höga eller medelstora nivåer. En hög risknivå är en som effektivt är en olåst, obevakad dörr. En medelrisk är en som i kombination med en eller flera andra faktorer kan innebära problem. Ett ännu större antal webbplatser hade problem med låg risk. Vad du behöver veta: andelen webbplatser som har minst en stor risk ökar faktiskt.

även om SQL-injektion har varit ett känt problem i flera år finns det flera faktorer som orsakar riskhastigheten att öka. Först är att fler företag erbjuder mer webbplats interaktion med besökare och denna trend ökar dramatiskt. För det andra är att när fler hackare får färdigheter i SQL-injektion upptäcker de fler applikationer och tjänster som är mottagliga för attacker och utvecklar nya attacker mot gamla applikationer. Resultatet är en nästan exponentiell ökning av möjligheterna att använda denna attackmetod.

din risk att bli attackerad med SQL-injektion baseras på två faktorer: arten och storleken på ditt företag och ålder, status för uppdateringar och korrigeringar på dina applikationer och skickligheten och antalet tekniska personal. Det handlar om huruvida du är ett intressant mål och om din webbserver, applikationerna på den och din webbplatskod är väl utformade, väl integrerade och har alla aktuella korrigeringar och uppdateringar.

din webbplats är i omedelbar fara om ditt företag lagrar data av högt värde, om ditt företag eller enhet är verksamt inom ett mycket omtvistat verksamhetsområde eller om din webbplats har politisk eller social betydelse eller värde. Naturligtvis om du har något av monetärt värde så är du ett mål. Men du är också ett mål om din webbplats är en opinionsledare i en omtvistad miljö. Vi har blivit ombedda av bloggare om hjälp eftersom ämnet som omfattas där hade dragit SQL-injektionsattacker.

SQL-injektionsattacker begärs nu online. En upprörd kund, konkurrent, eller ens ex make kan nu enkelt hyra en ’script kiddie’ – eller ännu värre, en begåvad hacker – att attackera en webbplats. Chansen att hackaren fastnar är låg. Chansen att den upprörda parten kan orsaka skador på din webbplats utan att bli fingered eftersom den ansvariga parten är hög.

tekniskt sett riskerar du SQL-injektion om du har någon utrustning eller applikationer som inte rutinmässigt har uppdaterats och patchats, eller om du har kod på din webbplats som inte var korrekt skriven. Utrustningens ålder, applikationerna och koden är en grov indikator på risk. En annan är antalet involverade servrar, antal applikationer och antal åtkomstpunkter för webbplatsen. Om du använder värdservrar eller om du använder outsourcade tekniska resurser är en tredjepartsgranskning av din webbplatssäkerhet viktig. Och även intern personal kan vara så pressad för tid och korta resurser att uppdateringar och patchar kan bli försenade eller gamla äldre kod används utan ordentlig granskning.

SQL-Injektionsexempel

varje gång en webbplatsbesökare matar in data i ett formulär på din webbplats genereras en SQL-fråga och levereras till din databas. När det gäller ett enkelt inloggningsformulär presenteras användarnamnet och lösenordet för databasen och om det är giltigt svarar databasen med ett svar och användaren får åtkomst (eller inte). Så oavsett hur enkelt formuläret eller webbprocessen krävs databasåtkomst och ett svar förväntas.

med SQL-injektion kommer en hacker att försöka skriva in en speciellt utformad SQL-kommandon i ett formulärfält istället för den förväntade informationen. Avsikten är att säkra ett svar från databasen som hjälper hackaren att förstå databaskonstruktionen, till exempel tabellnamn. Nästa steg skulle vara att komma åt och visa data i viktiga tabeller eller lägga till data i tabeller, till exempel att lägga till nya konton eller användarnamn och lösenord. Det tredje steget, ungefär, skulle vara att använda åtkomst till databasen för att upptäcka och ändra säkerhetsinställningar på en server som skulle tillåta en hacker administrativ åtkomst.

alla dynamiska skriptspråk inklusive ASP, ASP.NET, PHP, JSP och CGI är sårbara för angrepp. Den enda utrustning som behövs är en webbläsare. Det finns verktyg som är allmänt tillgängliga online som halvautomatiserar processen att söka efter svagheter, och det finns många forum där hackare delar exploater och hjälper varandra att övervinna hinder.

SQL Injection results

som du kan föreställa dig, innebär en hacker som får administrativ åtkomst till din server att du effektivt har förlorat all data på den servern till invaderaren. Ännu värre finns det nu ett strandhuvud bakom din brandvägg från vilken attacker på andra servrar och tjänster nu kan göras. På detta sätt kan SQL injection ge tillgång till alla företags-eller personuppgifter.

från en hackers synvinkel är en del av hacket som är nästan lika viktigt som inbrottet att upprätthålla sekretess. Att ställa in ett ’alarm’ av något slag är det sista de vill göra. Deras infiltrationsarbete tar tid och ofta sjunker värdet av stulna data om stölden upptäcks (information om värde vid identitetsstöld eller kreditkortsstöld till exempel). Således upptäcks SQL-injektionshackar ofta månader och i vissa fall år efter initieringen.

alternativt, om direkt skada är avsikten är det ingen brist på dåliga saker som kan göras till en databas när man har fått tillgång till löpande kommandon. En hel tabell kan raderas permanent med ett enda SQL-kommando. Men en mer sofistikerad SQL-injektionsattack kan innebära massiv korruption av stora databaser och till och med förstörelse av säkerhetskopior.

försvar mot SQL-injektion

eftersom webbplatser kräver konstant åtkomst till databasen ger brandväggar lite eller inget försvar mot SQL-injektionsattacker. Din webbplats är offentlig och brandväggar måste ställas in för att ge varje besökare tillgång till din databas, vanligtvis över port 80/443.

antivirusprogram är lika ineffektiva för att blockera SQL-injektionsattacker. De är avsedda att upptäcka och stoppa en helt annan typ av inkommande data.

det vanligaste SQL-injektionsförsvaret består av två komponenter. Först finns det rutinmässig uppdatering och patching av alla servrar, tjänster och applikationer som naturligtvis har många fördelar och är vanligt. Sedan produceras och används välskriven och väl testad webbplatskod som inte tillåter oväntade SQL-kommandon.

dessa två försvar är per definition tillräckligt för att stoppa någon SQL-injektionsattack. Så, varför är webbplatsen sårbarheter och risker på uppgång och varför är framgångsrika attacker förekommer oftare? Svaren är alla enkla, och kombinera till en skrämmande lista:

  • antalet servrar, applikationer och kodvolym på webbplatser ökar
  • dessa servrar, applikationer och kodspråk interagerar med varandra på ibland oförutsägbara sätt
  • antalet och frekvensen av uppdateringar och patchar ökar
  • IT-avdelningar gör mer arbete med färre anställda och vissa aktiviteter som uppdateringar skjuts upp
  • it-personalomsättning och uppsägningar lämnar ibland kamouflerade hål i säkerhetsrutiner
  • automatiskt installera varje patch och uppdatering som följer ofta producerar oönskade biverkningar
  • äldre kod återanvänds ofta när webbplatser uppdateras, ibland håller kod skriven till gamla standarder i bruk långt efter det var föråldrad
  • antalet personer som försöker göra hacks och antalet tillgängliga verktyg för att förenkla hacking båda går upp nästan exponentiellt

fler och fler företag med stora riskfaktorer och stora web ’fotspår’ kommer att dra slutsatsen att lappa allt och anställa mer personal för att titta på arbetet av befintlig personal är inte längre livskraftig.

web Site SQL Injection Scanner Tool Solution

den nya lösningen på SQL injection attacker (och alla andra webbaserade attacker) är att fokusera begränsad och värdefull IT-tid på de allvarliga risker som faktiskt finns, snarare än att använda ett hagelgevär strategi och tillämpa alla möjliga fix till varje server, varje applikation och varje sida av kod om det behövdes eller inte. Denna nya metod är som att ha en läkare utvärdera en patient och förbjuda ett läkemedel som behövs för att producera ett botemedel, snarare än att ha patienten gå direkt till apoteket för att få alla möjliga läkemedel och ta dem alla på en gång.

således uppnås större säkerhet genom att använda testverktyg för webbapplikationer, såsom beSECURE, som ett SQL-injektionsskannerverktyg för att undersöka (skanna) en webbplats med en lista med tusentals kända attacker och sedan rapportera om de relativt få (vanligtvis mindre än ett dussin) allvarliga problemen.

webbplats skanning fungerar på grundval av spotting och rapportering kända risker. Vanlig hacking är mycket ’offentlig’ aktivitet. Verktygen främjas i stor utsträckning. Tekniker sprids i stort sett i offentliga forum. Även nya metoder blir offentliga inom några timmar eller dagar efter deras första användning, tack vare grupper som SecuriTeam.com och andra som tittar på och sedan i stort sett varnar andra.

BeSECURE, det automatiska sårbarhetsdetekteringssystemet, är en webbaserad tjänst som använder en sammanställning av alla kända risker i familjer och alla familjer i en enda databas som har tagit många år att sammanställa och många timmar om dagen att underhålla. Med hjälp av denna databas kan beSECURE utvärdera vilken webbplats som helst och producera en rapport om verkliga och nuvarande risker som klassificeras enligt deras relativa betydelse – ofta inom några timmar och utan att störa pågående webbplatsaktiviteter.

nu kan du ta dina värdefulla IT-mantimmar och direkt ta itu med verkliga risker som SQL-injektion snarare än att spendera hundratals timmar på att installera patchar och uppdateringar, varav de flesta du inte behöver eller som hanterar risker som är så små att de är försumbara.

för mer information om beSECURE använd formuläret på denna sida eller kontakta oss.

Leave a Reply

Din e-postadress kommer inte publiceras.