Avatar billede webbygger Nybegynder
08. september 2005 - 22:37 Der er 17 kommentarer og
1 løsning

Krypteret password!

Hej!

Sidder lige og roder med en login-ting, som jeg ikke lige kan få til at fungere!!!

Jeg har en eksistere database fra mit forum (MaxWebPortal), hvor jeg gerne vil bruge brugernavn + password derfra. Men password er krypteret og hvordan er det lige jeg kan læser det?
Avatar billede driis Nybegynder
08. september 2005 - 22:54 #1
Det er mange steder brugt (og mest sikkert) at gemme password's som en-vejs-hash. I så fald er der ingen måde at aflæse password'et på. Om det er tilfældet med netop din database ved jeg dog ikke.
Avatar billede busschou Praktikant
09. september 2005 - 07:11 #2
Du skal bare kende krypterings metoden, så kan du også dekryptere
Dette er jo nødvendig hvis du fx skal have en "glemt password" feature, så skal du selvfølgelig kunne genfinde passwordet
Men ja, det kræver man kender krypteringsmetoden, fx om det er md5 kryptering
Du har vel en side som krypterer det eller?
Avatar billede webbygger Nybegynder
09. september 2005 - 12:36 #3
Jeg har fundet det her på registeringsside

'## NT authentication no additional password needed
    if strAuthType = "db" then
        if trim(Request.Form("Password")) = "" then
            Err_Msg = Err_Msg &  "<li>Du skal vælge et Password</li>"
        end if  siger det jer noget ???
Avatar billede busschou Praktikant
09. september 2005 - 12:38 #4
Den tjekker blot om man i en form har indtastet et kodeord, og hvis ikke så giver den en fejl om at man skal vælge et
Avatar billede webbygger Nybegynder
09. september 2005 - 12:44 #5
Busschou-> Kan du for noget ud af denne kode/side - som er når man har glemt sit password/brugernavn!!!

Jeg prøvede igår med md5 kryptering, men den virkede ikke og som sagt ved jeg ikke hvad jeg skal lede efter....


curPageType = "password"
%><!--#INCLUDE FILE="config.asp" -->
<!--#INCLUDE FILE="inc_functions.asp" -->
<!--#INCLUDE file="inc_top.asp" -->
<%
dim memKey, actKey, strPass, strPass2
memKey = ""
actKey = ""
strPass = ""
strPass2 = ""
memId = ""
   
if request.form("memId") <> "" then
  if IsNumeric(request.form("memId")) = True then
    memId = cLng(request.form("memId"))
    if memId <> "" and memId < 1 then
      'raiseHackAttempt()
      Response.Redirect("default.asp")
    end if
  else
    Response.Redirect("default.asp")
  end if
end if

strPass = trim(chkString(Request.Form("pass"), "sqlstring"))
strPass2 = trim(chkString(Request.Form("pass2"), "sqlstring"))
memKey = replace(chkString(request.form("memKey"),"sqlstring")," ","")
actKey = replace(chkString(trim(Request.QueryString("actKey")), "sqlstring")," ","")
memPass = pEncrypt(pEnPrefix & chkString(trim(Request.Form("pass")), "sqlstring"))
emailAddress = chkString(Trim(Request.Form("Email")), "sqlstring")
   
if len(memKey) > 10 or len(actKey) > 10 then
    'raiseHackAttempt()
    response.Redirect("default.asp")
end if
   
%>
<table border="0" width="100%">
  <tr>
    <td width="33%" align="left" nowrap><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>">
    <img src="images/icons/icon_folder_open.gif" height=15 width=15 border="0">&nbsp;<a href="default.asp">Forsiden</a><br>
    <img src="images/icons/icon_blank.gif" height=15 width=15 border="0"><img src="images/icons/icon_folder_open_topic.gif" height=15 width=15 border="0">&nbsp;Glemt dit password?<br>
    </font></td>
  </tr>
</table>
<%
if lcase(strEmail) = "1" then
if request.querystring("mode") = "reset" then

    if strPass = "" or strPass2 = "" then
        Err_Msg = Err_Msg & "<b>Udfyld venligst alle felterne.</b><br><br><a href=""java script:history.go(-1)"">Tilbage for at rette data</a>"
    elseif strPass <> strPass2 then
        Err_Msg = Err_Msg & "<b>Dine passwords er ikke ens</b><br><br><a href=""java script:history.go(-1)"">Tilbage for at rette data</a>"
    elseif memKey = "" then
        Err_Msg = Err_Msg & "<b>Din nøgle passer ikke</b><br><br><a href=""java script:history.go(-1)"">Tilbage for at rette data</a>"
    else

        Err_Msg = "<b>Dit Password er blevet ændret.</b><br><br><br><a href=""default.asp"">Forsiden</a></font><br><meta http-equiv=""Refresh"" content=""4; URL=default.asp"">"
        verKey = GetKey("pasemail")
            strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS SET M_KEY = '', M_PASSWORD = '" & memPass & "' WHERE MEMBER_ID = " & memId & " AND M_KEY = '" & memKey & "'"
        my_Conn.Execute (strSql)

    end if

%>
    <table align=center border=0>
      <tr>
        <td align="center"><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>">
        <% =Err_Msg %>
        </font></td>
      </tr>
    </table>
<%
elseif request.querystring("mode") = "validateEmail" and not actKey = "" then



    strSql = "SELECT MEMBER_ID, M_NAME, M_KEY"
    strSql = strSql & " FROM " & strMemberTablePrefix & "MEMBERS "
    strSql = strSql & " WHERE " & strMemberTablePrefix & "MEMBERS.M_KEY = '" & actKey & "'"

    set rsKey = my_Conn.Execute (strSql)

    if rsKey.EOF or rsKey.BOF then
%>
        <p align=center><font face="<% =strDefaultFontFace %>" size="<% =strHeaderFontSize %>">Der opstod et problem!</font><br>
        <p align=center><font face="<% =strDefaultFontFace %>" size=<% =strDefaultFontSize %>>Din aktiverings nøgle passer ikke med den vi har i vores database.</font><br>
            <p align=center><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>"><a href="password.asp">Tilbage til password siden</a></font>

<%     else%>   
<form action="password.asp?mode=reset" method="post">
<input type="hidden" name="memId" value="<% =rsKey("MEMBER_ID") %>">
<input type="hidden" name="memKey" value="<% =rsKey("M_KEY") %>">
<%
mwpThemeTitle= "Vælg venligst et nyt password"
mwpThemeTableCustomCode = "align=""center"" width=""95%"""
mwpThemeBlock_open()
%>
  <tr>
    <td bgcolor="<% =strForumCellColor %>"><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>"><b><br>Brugernavn:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<% =rsKey("M_NAME") %><br><br>Nyt Password:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input CLASS=textbox type="password" name="pass" size="25"><br><br>Gentag Password: <input CLASS=textbox type="password" name="pass2" size="25"><br><br><input type="submit" value="Send" class="button"></b></font></td>
  </tr>
<%mwpThemeBlock_close()%>
</form>   
<%    end if

    rsKey.close
    set rsKey = nothing


elseif request.querystring("mode") = "sendEmail" then
if emailAddress = "" then
        Err_Msg =  "<b>Denne e-mail adresse findes ikke i vores database.</b><br><br><br><a href=""java script:history.go(-1)"">Tilbage for at rette data</a></font><br>"
else
    strSql = "SELECT M_NAME, M_EMAIL FROM " & strMemberTablePrefix & "MEMBERS "
    strSql = strSql & " WHERE M_EMAIL = '" & emailAddress &"'"

    set rs = my_Conn.Execute (strSql)

    if rs.BOF and rs.EOF then
        Err_Msg =  "<b>Denne e-mail adresse findes ikke i vores database.</b><br><br><br><a href=""java script:history.go(-1)"">Tilbage for at rette data</a></font><br>"
    else
        memName = rs("M_NAME")
        memEmail = rs("M_EMAIL")
        Err_Msg = "<b>Password e-mail er blevet sendt.</b><br><br><br><a href=""default.asp"">Forsiden</a></font><br>"
              verKey = GetKey("passemail")
        strSql = "UPDATE " & strMemberTablePrefix & "MEMBERS SET M_KEY = '" & verKey & "' WHERE M_EMAIL = '" & memEmail & "'"
        my_Conn.Execute (strSql)
    end if
    rs.close
    set rs = nothing
end if
%>
    <table align=center border=0>
      <tr>
        <td align="center"><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>">
        <% =Err_Msg %>
        </font></td>
      </tr>
    </table>
<%
else%>
<form action="password.asp?mode=sendEmail" method="post">
<%
mwpThemeTitle= "Glemt dit Password?"
mwpThemeTableCustomCode = "align=""center"" width=""95%"""
mwpThemeBlock_open()
%>
    <tr>
    <td bgcolor="<% =strForumCellColor %>"><font face="<% =strDefaultFontFace %>" size="<% =strDefaultFontSize %>"><br>Du kan få dit brugernavn sendt med e-mail så du kan få et nyt password.<br><br><input CLASS=textbox type="text" name="Email" size="25">&nbsp;<input type="submit" value="Send E-mail" class="button"></font></td>
  </tr>
<%mwpThemeBlock_close()%>
</form>
<%
Avatar billede busschou Praktikant
09. september 2005 - 12:48 #6
jeg har ikke vildt meget tid lige nu desværre, umiddelbart kan jeg ikke se problemet, men der inkluderes jo en del funktioner fra inc_functions.asp måske den indeholder kypteringen
Avatar billede webbygger Nybegynder
09. september 2005 - 12:50 #7
Jeg sidder netop nu og gennemkikker inc_functions.asp.........kikker efter den berømte "nål"

Tak for tippet!
Avatar billede polle007 Nybegynder
09. september 2005 - 12:56 #8
Jeg tror driis er inde på noget af de rigtige. Ved glemt password, bliver der tilsendt en mail med en generet key. Den key kan bruges til at nulstille passwordet.
Avatar billede driis Nybegynder
09. september 2005 - 19:02 #9
busschou >> "Du skal bare kende krypterings metoden, så kan du også dekryptere"
Det passer ikke helt, idet idéen ved et envejs-hash som MD5 eller SHA, netop er at man kun kan gå den ene vej. Så hvis det er den metode, der er anvendt, hasher man den indtastede tekst og sammenligner med den hashede tekst i databasen. Er de 2 hashværdier ens, er det rigtige password indtastet. Men man kan ikke komme frem til hvad passwordet er.

Når det er sagt er der intet i den postede kode der viser hvilken krypteringsmetode der er anvendt, så om passwordet kan hentes ud i netop dette tilfælde, ved jeg ikke.
Avatar billede driis Nybegynder
09. september 2005 - 19:04 #10
webbygger >> Du skal have fundet funktionen "pEncrypt", som umiddelbart lader til at være den funktion, der gør arbejdet med kryptering.
Avatar billede webbygger Nybegynder
09. september 2005 - 19:15 #11
driis ->

Mit spørgsmål er forkert formuleret....sorry!

Det jeg godt kunne tænke mig er:

Er at bruge de samme brugernavn/password fra min forum database til et modul udenfor forummet!

Så når brugerne skal tilføje noget i det nye modul, skal de logge sig ind med samme brugernavn/password som i forummet (loginscript skal check brugernavn/password i forum database) og det kan det ikke på nuværende tidspunkt, da password som sagt er krypteret!!!

Gir det en mening?
Avatar billede webbygger Nybegynder
09. september 2005 - 19:48 #12
driss -> jeg har fundet "pEncrypt" filen, men lige umiddelbart kører dette script ikke:


<!--#include file="inc_top.asp" -->
<!--#include file="inc_menu.asp" -->
<!--#include file="../../Lystfiskergordetselv/fora/inc_encryption.asp" -->



<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
    ' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

    ' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        ' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject("ADODB.Connection")
        myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/Lystfiskergordetselv/forum/db/fladbuk.mdb")

        ' Opbygning af SQL streng
        strSQL = "SELECT MEMBER_ID FROM PORTAL_MEMBERS"&_
            " WHERE (M_NAME = '" & strUID & "')"&_
            " AND (M_PASSWORD = '" & strPWD & "')"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("MEMBER_ID")
        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Dit brugernavn eller password er forkert. <br> Prøv igen eller <a href=http://www.lystfiskerens.net/forum/policy.asp>indmeld</a> dig."
        End If

        ' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
            Session("MEMBER_ID") = intUID
            Response.Redirect("log.asp")
        End If
    Else
        ' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = "Du skal skrive både brugernavn og adgangskode"
    End If

    If Len(strErr) > 0 Then
        ' Her laves fejlmeddelsen om til rød skrift
        strErr = "<p><font color=red>" & strErr & "</font></p>"
    End If
End If
%>
<html><head>
<title>Login script</title>
</head><body>
<form method="POST" action="login.asp">
  <p><font size="4">Angiv brugernavn og adgangskode</font></p><%=strErr%>
  <table border="0">
    <tr>
      <td width="50%">Brugernavn:</td>
      <td width="50%"><input type="text" name="Brugernavn" size="20"> </td>
    </tr>
    <tr>
      <td width="50%">Adgangskode:</td>
      <td width="50%"><input type="password" name="Adgangskode" size="20">
        </td>
    </tr>
  </table>
  <p><input type="submit" value="Login" name="Action"></p>
</form>
</body></html>
<!--#include file="inc_footer.asp" -->
Avatar billede polle007 Nybegynder
09. september 2005 - 19:59 #13
Prøv

strPWD = Trim(Request.Form("Adgangskode")))
memPass = pEncrypt(pEnPrefix & chkString(strPWD, "sqlstring"))
...
' Opbygning af SQL streng
        strSQL = "SELECT MEMBER_ID FROM PORTAL_MEMBERS"&_
            " WHERE (M_NAME = '" & strUID & "')"&_
            " AND (M_PASSWORD = '" & memPass & "')"
Avatar billede webbygger Nybegynder
09. september 2005 - 20:10 #14
Får denne fejl

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'chkString'

/fiskegrej/fiskejournal/login.asp, line 13


linie 11->13 =    
strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Request.Form("Adgangskode"))
memPass = pEncrypt(pEnPrefix & chkString(strPWD, "sqlstring"))
Avatar billede polle007 Nybegynder
09. september 2005 - 20:11 #15
Det skyldes nok, at chkString ligger i en anden .asp fil som du ikke inkluderer
Avatar billede webbygger Nybegynder
09. september 2005 - 20:16 #16
Jamen polle007 det var da lige det - det var ;o))

Smider du et svar?

Og tak for hjælpen
Avatar billede webbygger Nybegynder
29. oktober 2005 - 12:19 #17
Polle007 og driis smider I lige et svar, så jeg kan få lukket spørgsmålet!
Avatar billede webbygger Nybegynder
05. november 2005 - 17:17 #18
HMmm når I ikke har svaret må det være fordi I ikke ønsker point
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