WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Säkerhet? (https://www.wn.se/forum/showthread.php?t=37196)

danjel 2009-06-03 13:41

OK har knappt hört talas om MySQLi. Finns det fördelar kontra PDO..?

eliasson 2009-06-03 16:00

Citat:

Originally posted by youheardit@Jun 2 2009, 21:24
Hur ska jag skydda filerna från hackers eller liknande (tex sQl-injections)
Ngt mer än sql-injections?
//Philip Andersson


Är det bara jag som reagerar på hans otroligt luddiga frågeställning?
Vad han skall skydda sig emot beror ju givetvis på vad han skall jobba med, kopplingar och vad han skall presentera.

Det framgår inte ens vilken plattform han kommer använda sig av, och ni förusätter att det handlar om PHP och MySQL.
Visst kan detta vara korrekt, men för att kunna ge han en bättre bild över vad som behöver tänkas på - så bör väl någon fråga om tekniska förutsättningar, och vad som skall användas.

Skall han t ex använda sig av LDAP (vilket dock inte är sannolikt i hans projekt) så kommer vi in på LDAP-injections, vilket är precis lika allvaligt som SQL-injections.

- Vidare så kanske det bör läsa om XSS?
- Han bör kanske stänga av känsliga felmeddelanden?
- Han bör se över övriga publika tjänster som snurrar på hans server som kan penetreras?
...osv

Kortfattad poäng: Att fråga "Hur ska jag skydda filerna från hackers eller liknande?" är lika dum fråga som "Hur långt är ett snöre?" när man inte specificerar - och speciellt när du hävdar att det är en "stor" fråga i ditt sammanhang.


Eller är det jag som har missat något?

Kay 2009-06-03 16:03

Jag har lite funderingar kring säkerhet också. Knackar ASP classic.

Formulärsfältet "kommentar" kollas med Regexp så det är exempelvis A-Z, a-z, 0-9. Om det replikerar True, är det lugnt att köra formulärsfältsvärdet ostrippat i en SQL-sträng eller är det möjligt att mata in data som går igenom regexpen men som ändå innehåller skräp som kan manipulera SQL-strängen?

Om jag sätter en session på en sida och vill skriva ut den på nästkommande utan Server.HTMLEncode() / htmlspecialchars(), kan jag vara säker på att den innehåller det jag själv angett den till eller kan andra manipulera session-innehåll ifall någon exempelvis vet en sessions namn?

Vilka tecken bör strippas bort ifall man vill använda en Form/QueryString-variabel i en SQL-sats? Räcker det med att ersätta enkelfnutt med två?

eliasson 2009-06-03 16:34

Citat:

Ursprungligen postat av Kay
Formulärsfältet kommentar kollas med Regexp så det är exempelvis A-Z, a-z, 0-9. Om det replikerar True, är det lugnt att köra formulärsfältsvärdet ostrippat i en SQL-sträng eller är det möjligt att mata in data som går igenom regexpen men som ändå innehåller skräp som kan manipulera SQL-strängen?

Om du anger en korrekt regex, och att övrig kod är korrekt - så kan ingen fulkod gå igenom. Den matchar helt enkelt dina regler du angivit.

Citat:

Ursprungligen postat av Kay
Vilka tecken bör strippas bort ifall man vill använda en Form/QueryString-variabel i en SQL-sats? Räcker det med att ersätta enkelfnutt med två?

Jag förstår inte frågan allts, men du bör läsa om "SQL Parameterized Query" - men dock vet jag inte om det finns i ASP Classic.

taz76 2009-06-03 16:35

Citat:

Originally posted by eliasson@Jun 3 2009, 16:00
- Vidare så kanske det bör läsa om XSS?
Det skrev jag lite om men du kanske bläddrade för fort ;)

eliasson 2009-06-03 16:39

Citat:

Ursprungligen postat av taz76
Citat:

Ursprungligen postat av eliasson
- Vidare så kanske det bör läsa om XSS?

Det skrev jag lite om men du kanske bläddrade för fort

Jag har egentligen inte läst något av Era inlägg, utan reagerade främst på att hans frågeställning kontra hans "stora fråga".

En "stor fråga" som kan summeras på 3 rader är verkligen ett skämt.

taz76 2009-06-03 16:40

Citat:

Originally posted by Kay@Jun 3 2009, 16:03
Jag har lite funderingar kring säkerhet också. Knackar ASP classic.

Formulärsfältet "kommentar" kollas med Regexp så det är exempelvis A-Z, a-z, 0-9. Om det replikerar True, är det lugnt att köra formulärsfältsvärdet ostrippat i en SQL-sträng eller är det möjligt att mata in data som går igenom regexpen men som ändå innehåller skräp som kan manipulera SQL-strängen?

Om jag sätter en session på en sida och vill skriva ut den på nästkommande utan Server.HTMLEncode() / htmlspecialchars(), kan jag vara säker på att den innehåller det jag själv angett den till eller kan andra manipulera session-innehåll ifall någon exempelvis vet en sessions namn?

Vilka tecken bör strippas bort ifall man vill använda en Form/QueryString-variabel i en SQL-sats? Räcker det med att ersätta enkelfnutt med två?

Om du inte behöver ha html så strippa allting - det är bäst.

Sen tycker jag att bara för att du har klientvalidering så skippa inte servervalideringen..

Vet inte hur asp classic är (har bara jobbat med asp.net 3.5 (ado).. men där finns funktioner så att man kan lägga in data till en query som parameter vilket är ett säkert sätt - iaf mot sql injections.

taz76 2009-06-03 16:42

Citat:

Ursprungligen postat av eliasson
Citat:

Originally posted by -taz76@Jun 3 2009, 14:35
Citat:

Ursprungligen postat av eliasson
- Vidare så kanske det bör läsa om XSS?

Det skrev jag lite om men du kanske bläddrade för fort


Jag har egentligen inte läst något av Era inlägg, utan reagerade främst på att hans frågeställning kontra hans "stora fråga".

En "stor fråga" som kan summeras på 3 rader är verkligen ett skämt.

Många som behöver lära sig mer om säkerhet och risker med webbprogrammering. Men man kan inte veta allting när man är nyfödd (eller ens när man har flera års erfarenhet) ;)

Jag menar.. när du började knacka kod haltande - visste du om alla säkerhetsrisker och fallluckor då? ;)

Det är bra att trådskaparen frågar ju :) Jag har sett många exempel på helt livsfarlig kod med massor av hål.

Johan_S 2009-06-03 18:58

Ju mer jag lär mig desto mer okunnig känner jag mig!

dAEk 2009-06-03 19:54

Citat:

Originally posted by taz76@Jun 3 2009, 16:40
Vet inte hur asp classic är (har bara jobbat med asp.net 3.5 (ado).. men där finns funktioner så att man kan lägga in data till en query som parameter vilket är ett säkert sätt - iaf mot sql injections.
Jodå, det finns stöd för det i gamla ASP (VBScript & JScript). Konstigt nog är eller verkar det inte vara något som används i särskilt stor utsträckning. Iaf är det min erfarenhet.


Alla tider är GMT +2. Klockan är nu 21:06.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson