namn=Request.Querystring("namn")
visa = "SELECT * FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat"
RecSet.Open visa, Connect, adOpenStatic, adLockOptimistic
namn=Request.Querystring("namn")
visa = "SELECT * FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat"
RecSet.Open visa, Connect, adOpenStatic, adLockOptimistic
Mvh //Darek
namn=Request.Querystring("namn")
visa = "SELECT DISTINCT namn, resultat FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat"
RecSet.Open visa, Connect, adOpenStatic, adLockOptimistic
visa = "SELECT DISTINCT resultat FROM resultattab WHERE namn = '" & namn & "' ORDER BY resultat
och på
visa= "SELECT DISTINCT resultat FROM resultattab WHERE namn = '" & Replace(namn, "'", "''") & "' ORDER BY resultat"
???
Mvh //Darek
I den andra så bygger du in ett skydd som sql-injections (farliga tecken), det gör du inte i första satsen, lägg märke till replace som byter ut ' mot "
Första har inget skydd alls mot sql-injections.. Kommer du inte ihåg den tråden?
okej.. japp, men grejen är att jag provade med båda 2 och se om där är någon skillnad på resultatet, och där va ingen skillnad, tänkte de sen att den andra skyddar mot sql-injections, provade därför en injection och injectionen funkade ändå även om jag hade den raden du gav mig..
ne men det är bara att göra som du skriver eller placera variabeln i min funktion som han använder i sql-en
det han ville veta var hur man använder distinct och det har vi båda svarat på nu
Och sen frågade han vad det var för skillnad på de två koderna han visade och då svarade jag på det. Tråden jag syftar på är inte den du tänker på (leox:s tråd) utan en som var uppe för ett tag sedan.
okej.. japp, men grejen är att jag provade med båda 2 och se om där är någon skillnad på resultatet, och där va ingen skillnad, tänkte de sen att den andra skyddar mot sql-injections, provade därför en injection och injectionen funkade ändå även om jag hade den raden du gav mig..
Mvh //Darek
Fick du fel då du skrev in en ' med koden som jag visade?
okej.. japp, men grejen är att jag provade med båda 2 och se om där är någon skillnad på resultatet, och där va ingen skillnad, tänkte de sen att den andra skyddar mot sql-injections, provade därför en injection och injectionen funkade ändå även om jag hade den raden du gav mig..
Mvh //Darek
Fick du fel då du skrev in en ' med koden som jag visade?
skrev till 'hi' or 1 = 1 och fick då fram information ändå, och 'hi' or 1 = 1 är en sorts sql-injection där man får reda på info om vad kolumnerna i tabellen heter
Nja, det är inte riktigt så man skriver men det här inte hit. Vilken information fick du fram?
sorry skrev lite fel.. använda mig av hi' or 1=1--
fick då fram detta meddelande:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i sträng i frågeuttrycket 'name = 'hi' or 1=1--' ORDER BY resultat'.
/sida/poangresultat.asp, line 29
jag kör lokalt.. ska testa sen när jag lägger upp den på hotell, kan skriva till dig då.. för det kan bero på ett annat fel osså som jag hitta.. men ska testa det sen.. men du det jag tänkte på, hjälper inte detta mot sql injections??
On Error Resume Next
Response.Redirect "fel.asp"
för då vissas ju inte error sidan med informationen utan då kommer man ju endast direkt till fel.asp?
Nej, alltså SQL-injections kan användas på många sätt. Ett är att få fram information genom felmeddelanden, men du kan även använda det utan att skapa felmeddelanden, t.ex. logga in på andra personers konton och linande på olika webbtjänster som inte är skyddade.
Den kod du gav nu skulle väll iofs med lite modifikation hindra att man ser ett felmeddelande men hindrar inte sql-injections.
310 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849