12. april 2005 - 17:30Der er
7 kommentarer og 1 løsning
Login sikkerhedshul
Har et loginscript til en side, som hiver usr/pass ud af en accessdb. Har dog fundet ud af det er muligt at logge ind med: AA' or password <> 'a / AA' or password <> 'a (usr/pass). Dvs. den vel hiver første usr samt pass ud af min accessdb.
Sql = "Select Count(*) as Found from user where (username = '" & strUsername & "') and (password ='" & strPassword & "')" Set LO = RS.Execute(Sql) if LO("Found") = 0 then Session("login") = "" error = "Du blev ikke godkendt af systemet" else strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("MIN_DATABASE.mdb") Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN strSQL = "SELECT * FROM user where (username = '" & Request("username") & "') and (password ='" & Request("password") & "')" Set ez = myConn.Execute(strSQL) Session("login") = "yes mate" Response.Redirect "some_ofther_site.asp" EZ.Close RS.Close Conn.Close end if end if %>
Function unQuote(strTekst) strTekst = Trim(strTekst) strTekst = Replace(strTekst,"'","''") unQuote = Replace(strTekst,"%","53") End Function --- sådan der.. prøv det :o)
Jeg kan faktisk ikke helt se, hvorfor '-tegnet tillades i brugernavn/password..? :-) man burde erstatte det med ingenting: replace(..., "'", "")
Min holdning: - brugernavne og kodeord skal bestå af a-å og 0-9. - ved oprettelse, skal der alle felterne checkes, hvor de alle er med småbogstaver eller alle med storebogstaver.. dvs, "peter" er det samme som "Peter", "peTer", og "peteR", idet det hele laves om til "peter"..
thesurfer, din holding er lidt forkert. Den er rigtig mht brugernavn, men ved password skal der da være frit valgt fra alle hylder, så man kan lave så komplekse passwords som man har lyst til..
Det er jo ikke et spørgsmål om hvorvidt det er tilladt at et brugernavn indeholder et pling... Det er vel et spørgsmål om at hvis man indtaster det så fortolkes det i sql statementet
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.