Avatar billede agg-zeus Nybegynder
25. august 2002 - 19:19 Der er 2 kommentarer og
1 løsning

Sikkerhed i login !

Hvordan undgår man at man kan gå uden om et loginsystem ved at bruge følgende:

Felt for brugernavn: 1' OR '1' = '1
Felt for passsword: 1' OR '1' = '1


?


login ser således ud:


Dim user, pass
user = Trim(Request.Form("username"))
pass = Trim(Request.Form("password"))
user = Replace(user,"'","''")
user = Replace(pass,"'","''")
Dim cn, cnstr

set cn = server.createobject("adodb.connection")
cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;"
cnstr = cnstr & "Data Source=" & server.mappath("db.mdb") & ";"
cn.connectionstring = cnstr
cn.open

Dim rs, sql
set rs = server.createobject("adodb.recordset")
sql = "Select * from users Where brugernavn='"& user & "' And password='" & pass & "';"
rs.open sql, cn

If Not rs.eof Then
    Session("crew") = True
    Session("IP") = Request.ServerVariables("REMOTE_ADDR")
    Session("dato") = formatdatetime(date,1)
    Response.Redirect("../asp/admin.asp?mode=admin")
   
Else Session("crew") = Not True
    Response.Redirect("../asp/admin.asp?mode=fejl&type=1")
End If   

rs.close
set rs = nothing
cn.close
set cn = nothing
Avatar billede eagleeye Praktikant
25. august 2002 - 19:36 #1
Det ungår du med disse linier

user = Trim(Request.Form("username"))
pass = Trim(Request.Form("password"))
user = Replace(user,"'","''")
user = Replace(pass,"'","''")

Dog har du skrevet user to gange to user bliver til passwordet..


user = Trim(Request.Form("username"))
pass = Trim(Request.Form("password"))
user = Replace(user,"'","''")
pass = Replace(pass,"'","''")
Avatar billede eagleeye Praktikant
25. august 2002 - 19:37 #2
Princippet er at lave en ' om til to '' da en opfattes som start/slut på en streng i SQL. Hvis der er to efter hinanden tolkes det som en ' i teksen lige som "" i ASP strenge.
Avatar billede agg-zeus Nybegynder
25. august 2002 - 19:44 #3
okay takker :D ... det var en Copy&Paste fejl... Det sker når man har været på arbejde i 10 timer...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester