webForumDet fria alternativet

Dreamweaver och sql injection

3 svar · 268 visningar · startad av Nova

NovaMedlem sedan feb. 2005216 inlägg
#1

Om det är i fel forum hoppas jag att någon trevlig moderator flyttar eller tar bort.

Jag tänkte börja göra en uppdateringsfunktion till min hemsida och använder mig av Dreamweaver och man kan på ett enkelt sätt skapa en innloggningsfunktion med sessionvariabler och en "sida där man är inloggad", Eftersom det skrivs så mycket överallt om sql injections så funderar jag om Dw inbyggda funktioner är säkra?

J.N.Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Jag skulle inte tro att program fixar det automatiskt, men chansen finns.

Svaret ligger i att kontrollera koden, läggs det till några funktionsanrop, och vad står det i funktionen?

Skulle det finnas tex fix_sql_from_bad_char, då bör saken vara rätt klar. :e

NovaMedlem sedan feb. 2005216 inlägg
#3

Så här ser inloggningskoden ut och om jag har glömt att ersätta fältnamn m.m med XXXX så hoppas jag att ni blundar :)

MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)
MM_valUsername=CStr(Request.Form("XXXXX"))
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginSuccess="XXXX.asp"
  MM_redirectLoginFailed="Xxxx.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsXXXX = Server.CreateObject(MM_flag)
  MM_rsXXXX.ActiveConnection = MM_news_STRING
  MM_rsXXXX.Source = "SELECT XXXX, XXXXX"
  If MM_fldUserAuthorization <> "" Then MM_rsXXXX.Source = MM_rsXXXX.Source & "," & MM_fldUserAuthorization
  MM_rsXXXX.Source = MM_rsXXXX.Source & " FROM XXXXX WHERE XXXXX='" & Replace(MM_valUsername,"'","''") &"' AND XXXXX='" & Replace(Request.Form("XXXXXX"),"'","''") & "'"
  MM_rsXXXX.CursorType = 0
  MM_rsXXXX.CursorLocation = 2
  MM_rsXXXX.LockType = 3
  MM_rsXXXX.Open
  If Not MM_rsXXXX.EOF Or Not MM_rsXXXX.BOF Then 
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsXXXX.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And false Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsXXXX.Close
    Response.Redirect(MM_redirectLoginSuccess)
  End If
  MM_rsXXXX.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
solbulleMedlem sedan mars 20015 287 inlägg
#4

Denna kodrad löser det hela:

MM_rsXXXX.Source = MM_rsXXXX.Source & " FROM XXXXX WHERE XXXXX='" & Replace(MM_valUsername,"'","''") &"' AND XXXXX='" & Replace(Request.Form("XXXXXX"),"'","''") & "'"

(Replacen)

134 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)