AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FireBird - Prepared Statement - SQL Injection
Thema durchsuchen
Ansicht
Themen-Optionen

FireBird - Prepared Statement - SQL Injection

Ein Thema von fkerber · begonnen am 15. Jul 2009 · letzter Beitrag vom 16. Jul 2009
Antwort Antwort
borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: FireBird - Prepared Statement - SQL Injection

  Alt 16. Jul 2009, 10:45
Zitat:
Ich blicke bei den ganzen Anführungszeichen nicht so ganz durch - kannst du ein konkretes Beispiel ohne zusätzliche Anführungszeichen machen.
In Deinem Feld für Benutzername würde ich nur dummy Werte eingeben z.B. xx
Beim Passwort genau diese Zeichenkette : 'XX' OR (username LIKE '%ADMIN%' AND passwd LIKE '%')
Die Hochkomma sind Notwendig, da er die gesamte Zeichenkette quasi als Passwort an das SQL anhängt. Damit würde Dein eigentliches
SQL veränder werden. Wenn Du es als String ausgebe lässt, sieht es dann so aus

SELECT id FROM user WHERE username= 'xxAND passwd = 'XXOR (username LIKE '%ADMIN%AND passwd LIKE '%') Durch das OR wird die eigentliche Passwort/User Abfrage aufgehoben.
Das SQL würde genau so an die Datenbank geschickt.

Mit prepared und Parameter solltes es so wie oben beschrieben eigentlich nicht mehr möglich sein. Da für kenne ich aber php zu wenig.
Wie gesagt ich würde immer eine SP vorziehen. Da bist Du auf der sicheren Seite.

Das Könnte dann so aussehen

SQL-Code:
CREATE PROCEDURE SP_LOGIN (
    USERNAME VARCHAR(40),
    PW VARCHAR(40))
RETURNS (
    ID INTEGER)
AS
BEGIN
  SELECT ID
  FROM USER
  WHERE username = :USERNAME
  AND passwd = :PW
  INTO :ID;
  SUSPEND;
END
Das hatte ich noch vergessen. :-(
Und in Deinem Programm so aufrufen

SELECT ID FROM SP_LOGIN(USERNAME,PW) Gruß Hartmuth
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz