Structured Query Language ( SQL ) is een methode voor het beheren van gegevens die zijn opgeslagen in een database . SQL en verwante talen worden vaak gebruikt om de website abonnementen en e - commerce te beheren . Een SQL-injectie is een methode om met behulp van een ongeldige SQL-query op een website om de controle van de SQL-database of de toegang tot beschermde informatie , zoals gebruikerslijsten , wachtwoorden en e-mailadressen te krijgen . Het veranderen van je programmering praktijken kan uw website te beschermen tegen SQL injectie aanvallen . Instructies 1 Kies een SQL- bibliotheek of kader dat niet mogelijk geverifieerde query's die verantwoordelijk zijn voor SQL -injecties . Common Weakness Enumeration beveelt persistentie lagen , zoals Hibernate en Enterprise Java Beans , die beschermen tegen SQL injection wanneer geïnstalleerd en correct gebruikt . Kopen van 2 Proces SQL queries met behulp van opgeslagen procedures , queries die slechts een parameter of accepteer andere prepared statements in plaats van open - ended queries . Vermijd dynamisch maken van SQL- query strings . 3 Vermijd uitvoeren van code met buitensporige privileges . Niet alle code moet worden uitgevoerd door een account met root -of beheerdersrechten . Dit zal de ernst van een gecompromitteerde SQL-query te beperken . Repeat veiligheidscontrole 4 en validatie van invoer op zowel de client- side en server side . Aanvallers kunnen waarden in doorvoer of op de gebruikers computer te wijzigen na de validatie van invoer is uitgevoerd . 5 Escape speciale tekens van SQL queries . Deze kunnen onder speciale tekens , zoals offertes of exploitanten , zoals de gelijk-teken en witte ruimte . 6 Neem aan alle input is kwaadaardig of misvormd . In plaats van een zwarte lijst van onaanvaardbare snaren van SQL queries, het gebruik van een witte lijst van bekende, geformatteerde queries. Limit ingang 7 een reeks vastgestelde invoerwaarden , zoals in het geval van een lijst van staten of landen , indien mogelijk . Beperk foutmeldingen op slechts minimale informatie 8 . Aanvallers kunnen gedetailleerde foutmeldingen gebruiken om meer informatie over uw systeem te krijgen . Meld de expliciete fout om een server log in plaats van het weergeven van het aan de gebruiker . 9 Gebruik een firewall om te verdedigen tegen een aantal SQL injectie aanvallen . Gebruik gerenommeerde firewalls die zijn ingesteld en goed onderhouden . Een firewall doet niets af aan de noodzaak van een goede programmering en zal niet beschermen tegen alle kwetsbaarheden .
|