19. maj 2009 - 15:56Der er
13 kommentarer og 1 løsning
Sql Injection
Jeg er så småt igang med at lære om Sql injection og Exploits - Men et spørgsmål jeg har tænkt over i et stykke tid nu - Hvordan ved jeg at der er et/en exploit på den side jeg nu er på, og hvordan ved jeg at mit exploit virker. Hvis der er forskel på exploits, så vil jeg gerne lære ASP og ASP.NET sql injection?
Ikke helt med på hvad du mener, men det er ikke sådan at der er en kommando du kan affyre også få at vide hvilke huller der er på siden. (Det er der måske hacker værktøjer der kan)
Vil du sikre din side, er der kun EN vej. Test, test og mere test. Eller sagt på en anden måde: "Afprøve de forskellige metoder indtil de alle er fejlet".
Lige et spørgsmål til - Hvis man nu finder et "hul" kan alt så trænge igennem - Altså Create database,update,select, og hvad der nu er? Altså hvis der først er et exploit, kan man så alt der nu ligger i ens Database?
2 gode råd til at modvirke/minimere SQL injections.
1. Brug prepared statements, og ikke noget med at sætte SQL udtryk sammen vha. variable. 2. Brug altid en database-bruger til applikationen, som har så få rettigheder som muligt. Aldrig en der har adgang til at oprette/slette databaser eller tabeller (medmindre din applikation har brug for det). Og hvis man har en applikation der ikke opdaterer i databasen, bør brugeren heller ikke have adgang til det.
I de fleste tilfaelde vil et SQL injection hul tillade at enhver form for SQL saetninger bliver koert. D.v.s. at begraensningen ligger i hvad brugernavnet har lov til i databasen. Derfor restriktion paa hvad brugernavn har adgang til.
Og som sagt er det nemmeste nok at bruge code inspection til at finde fejlene. En test vil ikke kunne proeve alle muligheder - der er simpelthen for mange kombinationer.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.