03. februar 2003 - 18:42Der er
6 kommentarer og 1 løsning
password crack ' or 1=1 or BrugerNavn='
hej jeg har en login side, hvor man skal indtaste brugenavn og pw. men hvis man bare skriver ' or 1=1 or BrugerNavn=' i brugernavn feltet, kommer man automatisk videre til admin, siderne.
på login siden har jeg følgende: <% Response.Buffer = true %> <% Login = Request("login")%> <% If login = "login" then %>
i starten af siden
i de efterfølgende sider har jeg
<% Response.Buffer = true %> <% If request.cookies("login")("login") <> "ja" then response.redirect("login.asp") End if %>
så man kan ikke åbne siderne uden at være logget ind. Jeg aner ikke hvad problemet er og hvordan det kan lade sig gøre og hvordan det kan forhindres. Håber der er nogen der kan hjælpe
Danske it-virksomheder investerer massive ressourcer i penetrationstests, tofaktor-godkendelse og sikker skyinfrastruktur helt fra den første kodelinje.
Problemet er at du tager brugerens input direkte og danner en sql-sætning med. Hvis brugeren skriver:
' or 1=1 or BrugerNavn='
som brugernavn, vil sql-sætningen jo komme til at se nogenlunde sådan her ud:
select * from userprofiles where brugerNavn='' or 1=1 or BrugerNavn=''
.. og det er jo altid sandt (1 er jo altid 1!)
For at løse problemet skal du konvertere eller fjerne alle ' og " fra brugerens navn og password (og alle andre felter, der kommer diretke fra brugeren.
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.