[ASP/Acces] Sessionlogin script

Pagina: 1
Acties:

  • Gaitman
  • Registratie: December 2001
  • Laatst online: 07:18

Gaitman

The Real One

Topicstarter
Ik ben met een gastenboek bezig maar nu werkt het niet helemaal.

Als je in wilt loggen om in het gastenboek te schrijven komt deze met de fout "Unknown username/password"

Zoals je in de code kunt zien wordt er gecontroleerd in de Acces database of de naam n wachtwoord voorkomen.

Nu log ik met gebruikersnaam "test" en wachtwoord "test" in (die aanwezig zijn in de database, echter krijg ik toch een foutmelding "Unknown username/password")

Deze code is letterlijk overgenomen uit een dictaat maar werkt dus niet. Heeft er iemand een oplossing. Ik heb al gezocht maar met weinig resultaat (misschien zie ik iets over het hoofd)

Ik test dit allemaal thuis met IIS 5 die bij Windows XP pro zit.

Het bestand "dbGuestbook2.mdb" heb ik alle rechten gegeven voor de groep iedereen zodat je niet met rechtenproblemen zit.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<HTML>
<!-- \aspguestbook2\registerForm.htm -->
<BODY>

<H3> Session Login </H3> 

<FORM METHOD="POST" ACTION="/aspguestbook2/sessionLogin.asp">
   Username:
   <INPUT TYPE="text" NAME=paramUsername"> <BR>
   Password:
   <INPUT TYPE="password" NAME="paramPassword"> <BR>
   <INPUT TYPE="submit" VALUE="submit">
   <INPUT TYPE="reset" VALUE="reset">
</FORM> 

<A HREF="/aspguestbook2/index.htm"> Home </A> 

</BODY>
</HTML>



code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<HTML>
<!-- \aspguestbook2\sessionLogin.asp -->
<BODY>

<%
   Dim MyConnection
   Set MyConnection = Server.CreateObject("ADODB.Connection")
   Call MyConnection.Open( _
           "DRIVER={Microsoft Access Driver (*.mdb)};" & _
           "DBQ=C:\Inetpub\wwwroot\aspguestbook2\dbGuestbook2.mdb")

   Dim MySQLstatement
       MySQLstatement = "SELECT usrName FROM tblUser " _
          & "WHERE usrName = '" & Request("paramUsername") _
          & "' AND usrPassword = '" & Request("paramPassword") & "'"

   Dim MyRecordset
   Set MyRecordset = Server.CreateObject("ADODB.Recordset")
   Call MyRecordset.Open (MySQLstatement, MyConnection) 

   If MyRecordset.EOF Then
      Response.Write("Unknown username/password <BR>")
   Else
      Session.Timeout = 2
      Session("Username") = Request("paramUsername")
   End If

   MyRecordset.Close
   MyConnection.Close
%>

<A HREF="/aspguestbook2/index.htm"> Home </A> 

</BODY>
</HTML>


Afbeeldingslocatie: http://m1.nedstatbasic.net/n?id=AC/F5g+rasjXcR92ckShoavceNWQ

[ Voor 17% gewijzigd door Gaitman op 18-08-2004 12:21 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Vul eens op regel 16 in:

ASP:
1
2
Response.Write MySQLstatement 
Response.End

En voer dit resultaant eens uit in je dbms

En als dit een dictaat is, is het wel ranzig.. :X

[list]
• SQL Injection mogelijk
• gebruik van Request ipv Request.Form
• geen escaping van invoerwaarden
• een databaselocatie hardcoded erin gezet

Om maar even een paar voorbeelden te noemen; allemaal imho wel redelijk ranzig.

Trouwens; mijn username is gorgi_19 en mijn wachtwoord is
a' OR 1=1 Or usrPassword = 'a
'k ben benieuwd of ik er dan wel in kom... :+

[ Voor 91% gewijzigd door gorgi_19 op 01-01-2004 16:03 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • JQR
  • Registratie: Augustus 2001
  • Laatst online: 20-05 22:43

JQR

hoi,

Je bent in de volgende regel
code:
1
<INPUT TYPE="text" NAME=paramUsername"> <BR>


een " vergeten

code:
1
<INPUT TYPE="text" NAME="paramUsername"> <BR>


over de ranzigheid van het dictaat: 't valt wel mee hoor, heb het dictaat (van de HAN) ook en als je de code goed overtiept werkt het guestbook wel, alleen blijft het asp he :(

[ Voor 19% gewijzigd door JQR op 02-01-2004 11:54 ]


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

JQR schreef op 02 januari 2004 @ 11:54:
over de ranzigheid van het dictaat: 't valt wel mee hoor, heb het dictaat (van de HAN) ook en als je de code goed overtiept werkt het guestbook wel, alleen blijft het asp he :(
De 'ranzigheid' heeft ook geen betrekking op dat het niet zou werken maar meer op de door Gorgi genoemde beveiligingsrisico's:
gorgi_19 schreef op 01 januari 2004 @ 15:56:

[list]
• SQL Injection mogelijk
• gebruik van Request ipv Request.Form
• geen escaping van invoerwaarden
• een databaselocatie hardcoded erin gezet
En wat is er :( aan ASP :?(beschouw dit maar als een retorische vraag ;) )

[ Voor 11% gewijzigd door DeverauX op 02-01-2004 11:59 ]

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones