|  | 		    
					
        
         
          
         
	
          | |  | ASP Sikkerhed? Fra : Lasse T. Jensen
 | 
 Dato :  08-12-08 13:34
 | 
 |  | Hej List users
 
 Jeg er i gang med sikkere et IIS,ASP,MSSQL site da det gentagene gange
 har være lagt ned pga. sql injection, løsningen må være indholds
 filtrering af form data fra malisius usere til serveren, så KUN ascii
 karaktere kan overføres til serveren, sitet ser sådan ud:
 1. bruger oprettelse med udfyldelse af mail adresse og ønsket bruger
 navn og password
 2. bekræftigelse kommer til brugeren via mail
 3. brugeren kan så logge ind og sende post, chatte og lave opslag på en
 slags opslags tavle til og med de andre users.
 Min makker og jeg er meget uenige om hvordan vi klare problemet
 bla. pga. der er brugere der ønsker at kunne bruge skråstreger mm. og
 der er brugere der allerede har underlige non ascii tegn i deres
 usernames, jeg mener vi skal ligge global indholds filtrering på alt
 data der bliver send til serveren altså både tekst felter, emmne felter
 og bruger navne felter, og alle non ascii tegn skal filtreret væk så
 alle tekst felter bliver filtreret og kun ascii tegn er lovlige altså
 ingen stråstreger kun alfabetet i store og små bogstaver og minus streg
 kan lige tillades.
 
 Skulle der være nogen der måtte ha´ en mening om dette eller har
 praktisk erfaring med dette? ville jeg blive glad hvis i ville give et
 lille fif om dette.
 
 Hilsen Lasse
 
 
 |  |  | 
  Alex Holst (08-12-2008) 
 
	
          | |  | Kommentar Fra : Alex Holst
 | 
 Dato :  08-12-08 14:41
 | 
 |  | 
 
            Lasse T. Jensen <and0806@yahoo.dk> wrote:
 > Jeg er i gang med sikkere et IIS,ASP,MSSQL site da det gentagene gange
 > har vaere lagt ned pga. sql injection, losningen ma vaere indholds
 > filtrering af form data fra malisius usere til serveren, sa KUN ascii
 > karaktere kan overfores til serveren, 
 I skal kommunikere med databasen p? en m?de, s? brugerinput ikke ender
 med at blive kommandoer, men i stedet ender i databasen. S? kan I v?re
 komplet ligeglade med hvad folk h?lder ind i jeres system.
        http://aspalliance.com/385 -- 
 I prefer the dark of the night, after midnight and before four-thirty,
 when it's more bare, more hollow.                http://a.mongers.org/ OSS/FAQ for dk.edb.sikkerhed:                 http://sikkerhed-faq.dk/ |  |  | 
  Kent Friis (08-12-2008) 
 
	
          | |  | Kommentar Fra : Kent Friis
 | 
 Dato :  08-12-08 16:10
 | 
 |  | Den Mon, 08 Dec 2008 13:33:55 +0100 skrev Lasse T. Jensen:
 > Hej List users
 >
 > Jeg er i gang med sikkere et IIS,ASP,MSSQL site da det gentagene gange
 > har være lagt ned pga. sql injection, løsningen må være indholds
 > filtrering af form data fra malisius usere til serveren, så KUN ascii
 > karaktere kan overføres til serveren, sitet ser sådan ud:
 
 Der bruges kun ascii til SQL-injection. At filtrere andet fra hjælper
 ikke.
 
 > Min makker og jeg er meget uenige om hvordan vi klare problemet
 > bla. pga. der er brugere der ønsker at kunne bruge skråstreger mm. og
 > der er brugere der allerede har underlige non ascii tegn i deres
 > usernames,
 
 Nemlig.
 
 > jeg mener vi skal ligge global indholds filtrering på alt
 > data der bliver send til serveren altså både tekst felter, emmne felter
 > og bruger navne felter, og alle non ascii tegn skal filtreret væk så
 > alle tekst felter bliver filtreret og kun ascii tegn er lovlige altså
 > ingen stråstreger kun alfabetet i store og små bogstaver og minus streg
 > kan lige tillades.
 
 Nu skriver du ASP, er det 1900-tals ASP, eller er det ASP.NET?
 
 Hvis det er .NET, så brug SqlParameter, den løser problemet.
 
 Mvh
 Kent
 --
 Hvis en sort kat går over vejen foran en bil, betyder det ulykke
 
 .... for katten.
 
 
 |  |  | 
  Lasse T. Jensen (17-12-2008) 
 
	
          | |  | Kommentar Fra : Lasse T. Jensen
 | 
 Dato :  17-12-08 17:25
 | 
 |  | Kent Friis skrev:
 >
 > Der bruges kun ascii til SQL-injection. At filtrere andet fra hjælper
 > ikke.
 
 >
 > Mvh
 > Kent
 
 Kan ikke forstå hvordan man kan lave en injection med kun
 abcdefghijklmnopqrstuvwxyzæøå
 ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ
 @ og -
 det er muligt at stored procedures er en mere "ren" løsning
 men enlight me please
 
 /Lasse
 
 
 |  |  | 
   Andreas Plesner Jaco~ (17-12-2008) 
 
	
          | |  | Kommentar Fra : Andreas Plesner Jaco~
 | 
 Dato :  17-12-08 17:50
 | 
 |  | On 2008-12-17, Lasse T. Jensen <and0806@yahoo.dk> wrote:
 >>
 >> Der bruges kun ascii til SQL-injection. At filtrere andet fra hjælper
 >> ikke.
 >
 > Kan ikke forstå hvordan man kan lave en injection med kun
 > abcdefghijklmnopqrstuvwxyzæøå
 > ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ
 > @ og -
 
 ASCII indeholder meget mere, bl.a. ' og ;
 
 > det er muligt at stored procedures er en mere "ren" løsning
 
 Der blev talt om placeholders, ikke stored procedures.
 Det er ikke bare en mere ren løsning, det er en kønnere og fuldstændig
 korrekt løsning på problemet. Hvis du bruger denne metode hver gang får
 du løst problemet en gang for alle og skal ikke til at tænke på hvilke
 tegn du vil acceptere hver gang.
 
 --
 Andreas
 
 
 |  |  | 
    Niels Baggesen (17-12-2008) 
 
	
          | |  | Kommentar Fra : Niels Baggesen
 | 
 Dato :  17-12-08 18:09
 | 
 |  | Andreas Plesner Jacobsen <apj@daarligstil.dk> wrote:
 > On 2008-12-17, Lasse T. Jensen <and0806@yahoo.dk> wrote:
 > > Kan ikke forstå hvordan man kan lave en injection med kun
 > > abcdefghijklmnopqrstuvwxyzæøå
 > > ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ
 > > @ og -
 
 > ASCII indeholder meget mere, bl.a. ' og ;
 
 men til gengæld ikke æøå
 
 /Niels
 
 --
 Niels Baggesen -- @home -- Århus -- Denmark -- niels@baggesen.net
 The purpose of computing is insight, not numbers  --  R W Hamming
 
 
 |  |  | 
     Andreas Plesner Jaco~ (17-12-2008) 
 
	
          | |  | Kommentar Fra : Andreas Plesner Jaco~
 | 
 Dato :  17-12-08 18:25
 | 
 |  | On 2008-12-17, Niels Baggesen <nba@users.sourceforge.net> wrote:
 
 >> > Kan ikke forstå hvordan man kan lave en injection med kun
 >> > abcdefghijklmnopqrstuvwxyzæøå
 >> > ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ
 >> > @ og -
 >
 >> ASCII indeholder meget mere, bl.a. ' og ;
 >
 > men til gengæld ikke æøå
 
 Korrekt, jeg havde ikke lige opdaget at de havde sneget sig ind.
 
 --
 Andreas
 
 
 |  |  | 
     Kent Friis (17-12-2008) 
 
	
          | |  | Kommentar Fra : Kent Friis
 | 
 Dato :  17-12-08 19:41
 | 
 |  | 
 
            Den Wed, 17 Dec 2008 18:08:30 +0100 skrev Niels Baggesen:
 > Andreas Plesner Jacobsen <apj@daarligstil.dk> wrote:
 >> On 2008-12-17, Lasse T. Jensen <and0806@yahoo.dk> wrote:
 >> > Kan ikke forstå hvordan man kan lave en injection med kun
 >> > abcdefghijklmnopqrstuvwxyzæøå
 >> > ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ
 >> > @ og -
 >
 >> ASCII indeholder meget mere, bl.a. ' og ;
 >
 > men til gengæld ikke æøå
 Dem får man til gengæld svært ved at injecte noget som helst med    Mvh
 Kent
 -- 
 Hvis en sort kat går over vejen foran en bil, betyder det ulykke
 .... for katten.
            
             |  |  | 
   Stig Johansen (18-12-2008) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  18-12-08 16:16
 | 
 |  | 
 
            Lasse T. Jensen wrote:
 > Kan ikke forstå hvordan man kan lave en injection med kun
 > abcdefghijklmnopqrstuvwxyzæøå
 > ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ
 > @ og -
 Nu er det et stærkt begrænset 'karaktersæt' du beskriver her, og der kan det
 muligvis ikke lade sig gøre.
 Men SQL injection er på ingen måde begrænset til 'form data'.
 Det kan ligeså godt være ved en eks. ?page=12 med deraf følgende database
 opslag.
 Jeg har lavet en lille gennemgang af den SQL injection bølge der fes rundt
 nogle gange i forsommeren - qden kan måske give en ide om hvordan det
 foregår.
 <http://w-o-p-r.dk/storm.monitor/SQL.injection/how.it.is.done.asp> > det er muligt at stored procedures er en mere "ren" løsning
 > men enlight me please
 Som Andreas skriver skal du skelne mellem stored procedures og parameterized
 queries/placeholders/prepared queries[1].
 En stored procedure der ikke er 'parameterized' er lige så usikker som alt
 andet.
 [1] Vokabulariet afhænger af hvilket miljø man befinder sig i.
 -- 
 Med venlig hilsen
 Stig Johansen
            
             |  |  | 
  Stig Johansen (08-12-2008) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  08-12-08 21:54
 | 
 |  | Lasse T. Jensen wrote:
 
 > Skulle der være nogen der måtte ha´ en mening om dette eller har
 > praktisk erfaring med dette? ville jeg blive glad hvis i ville give et
 > lille fif om dette.
 
 Du skal bare bruge parameterized Queries, så er den ged barberet.
 Der er ikke behov for filtrering, som nedsætter brugbarheden.
 Hvis du ikke ved hvordan, så spørg ovre i
 dk.edb.internet.webdesign.serverside.asp
 så er der nok nogle der vil hjælpe.
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
 |  |