SQL beheerde vaardigheden - hoe zichzelf te beschermen tegen de

SQL SQL aanvallen, is een techniek waarmee de aanvaller door gebruik te maken van de mogelijkheden unsanitized input in het web van toepassing om de dynamische uitvoering van ongeoorloofde SQL SQL '.Dit is een bekend voorbeeld zijn de volgende: voor het verzamelen van de bezoekers, in de vorm van een gebruikersnaam en' toegang tot een vaste en een wachtwoord, en bij een adder met het script.De behandeling van het script om in een vraag, om vast te stellen of de combinatie van effectief zijn gebruikersnaam en wachtwoord.,, in dit geval, kan de bouw van twee pagina 's, log en (execlogin: //europa.eu.int /comm /asp. Asp), en de werkelijke controle (d.w.z. de gast' de gebruikersnaam en wachtwoord in de databank.De code voor deze pagina 's. Login.htm:,,,,,,, ExecLogin.asp te Username:,,,,, <% p_strPassword, dim p_strUsername, objRS, strSQL,, p_strUsername = vorm ("txtUsername"), p_strPassword = vorm ("txtPassword"), strSQL = "select * van tblUsers" & _,, "waar Username=' &"; p_strUsername & _,, "' en Password=' &"; p_strPassword & "'", die objRS = Server.CreateObject (". Recordset"), objRS.Open strSQL, "DSN=...", als (objRS.EOF.,, het antwoord. Schrijven "ongeldig login.",,, "je bent anders, antwoord. Schrijven logged in als" & objRS ("de gebruikersnaam"), die als,, einde, objRS = niets%>,,,,, in de eerste te lezen, de code in ExecLogin.asp is niet te bevatten die eenEen lek in de beveiliging.De gebruiker kan niet inloggen ongeldig gebruikersnaam en wachtwoord.Echter, de code is niet veilig en klaar en< href = 'http: //asphostportal. COM /sql-2014-hosting "# 62; SQL aanvallen.Om precies te zijn, de mazen in de wet die in feite de gebruiker rechtstreeks is voor een van de verklaringen voor de uitvoering van de verklaring, in feite de aanvaller controle.,, de kwetsbaarheid van een voorbeeld is, als de volgende reeks gebruikersnaam wachtwoord: en /of met'' en' = en'.De verklaringen zullen worden uitgevoerd: de keuze van de,,, * * * * * * * tblusers?, en' en' of en' en' = en' en' en het wachtwoord = en' en' of en' en&#= en' 39; en',,, deze vraag zal naar alle records van het script, tblusers, zullen gebruikers in de tabel in de eerste opname in de eerste vaststelling van de gebruikers.SQL aanvallen, en een andere in de vraag wat er, bij ontvangst parameters om de dynamische website.Hier is een ASP, de aanvaarding van een id querystring gevallen door de dynamiek die pagina, en op basis van de inhoud van de' id:,,, en 60% van #;,, donkere p_lngid, objrs, hoe p_lngid = verzoek (,, "id"), te kiezen uit tblarticles = "* * * * * * * de id is"& p_lngid, set, objrs = server. Createobject ("gegevens".), objrs. Open StrSQL 'SSN =... ", als (niet objrs. EOF) en reactie. Schrijf objrs (" articlecontent "), die objrs =, wat is dat>% en;,,, onder normale omstandigheden, het script is dat de id van de vraag wat de inhoud als de parameters.Bijvoorbeeld, pagina 's kunnen worden genoemd: HTTP://www.example. COM /asp, [...]?Id = 1055, waaruit blijkt dat het 1055 dynamische inhoud.Als we inloggen,, het voorbeeld van de code zelf voorziet in een SQL aanvallen.De gebruiker kan worden vervangen door een kwaadaardige effectieve artikel nummers voor ongeoorloofde SQL 'in de id is dit: 0 of 1 = 1 (d.w.z. HTTP://www.example [...] COM /op http?Id = 0 of 1 = 1).,, vraag terug alle artikelen uit tabel zullen worden uitgevoerd: keuze van,,, * * * * * * * tblarticles id is 0 of 1 = 1, en, natuurlijk, dit voorbeeld kan heel gevaarlijk zijn, maar de aanvaller worden door invoeging van kwaadaardige commando 's voor het manipuleren van toepassingen, zoals het schrappen van de verklaring.Dit alles kan de operatie voltooid door een eenvoudige vraag.Bijvoorbeeld, kan iedereen gebruiken querystring als bel blz.: HTTP://www.example [...] COM /op http?Id = 1055; het schrappen van tblarticles.,, SQL injectie, in de zin van deze mazen in de wet op de grote veranderingen, gebaseerd op het milieu en de configuratie.Als het gebruik van de database in verband met de veiligheid verband: rechts Nederlandse grens DBO geschrapt kunnen worden in de database alle tabellen voor het scheppen van nieuwe tabellen, als database verband met SA de context, het kan de SQL server, en zelfs de juiste toewijzing voor het creëren van een account op Windows server beheerde databank controle.,, bescherming van toepassing zijn SQL injectie, het eerste wat we moeten doen is de bescherming van de uitvoering van de vraag en een verzoek ontvangen van alle invoer van voorwerpen (ASP, request.querystring, verzoeken om. Koekjes, en eisen. ServerVariables).Je zal je database sterilisatie programma op basis van zijn verschillend, maar de volgende voorbeelden zijn van Microsoft SQL server.Log pagina 's, in het voorbeeld van twee variabelen (txtusername, in het script, txtpassword) op touw worden doorgegeven.Als een enkele aanhalingstekens in de invoeging van een parameter, waarmee de gebruiker de operatie wordt uitgevoerd.De bestrijding van de dreiging van SQL, vluchtte enkele aanhalingstekens gebruik ter vervanging van de functie, zoals:,,, (verzoek p_strusername = vervangen. ("txtusername"), "en'", "en' en'"), p_strpassword = ((verzoek van alternatieve vormen van "txtpassword". "), en'", "en' en'"), en, in het tweede geval, het script is op zoek naar een variabele (ID) van een type onderdeel worden aangenomen.Onbevoegde SQL 's kan worden verkregen door toevoeging van SQL id parameters uit te voeren.De bestrijding van dit soort SQL injectie, is het beperken van het gebruik van CLNG in een geheel getal, zoals:,,, p_lngid = CLNG (verzoek ("id"), als de gebruikers, in een poging om een string functie ingesteld, zal leiden tot een fout.En op een verdere vermindering van de risico 's van SQL injectie, om ervoor te zorgen dat alle technische informatie van de cliënt het schrappen van verkeerde informatie.De foutmelding vertonen vaak technische details, kan de aanvaller kan de kwetsbare punten van binnenkomst.Dit omvat een speciaal bericht van toepassing is ontstaan en die een fout.Kan dat door het uitschakelen van de onjuiste berichten in het creëren van een uitvoerig gebruik gemaakt. En niet - technologie.(de te creëren is gebruik gemaakt. Lees: het creëren van het ASP fout. Meer informatie), en, ten slotte, de beperking van de reikwijdte van de SQL aanvallen, beperking van de toegang van de webapplicatie is de database account gebruiken.De toepassing in het algemeen niet': rechts Nederlandse grens DBO of SA toestemming niet nodig.De database van de autoriteit op je minder is beter.Rekening te houden met het gebruik van een afzonderlijke rekening voor elk van de componenten en functies, de toegang tot de gegevens voor het isoleren van de mazen in de wet.Bijvoorbeeld, de voorkant van een gemeenschappelijke interface, je moet de website meer dan de inhoud van de beperking van de toegang tot de gegevensbank van het systeem voor het beheer van de interne.,



Previous:
Next Page: