| BartTheDevil89 |
Geschrieben am: So 10.02.2008, 14:43
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 118 Mitglied seit: 6.12.2005 |
Hallo,
ich bin derzeit dabei einige Projekte auf ihre Sicherheit zu verbessern. Dabei habe ich mir nun Gedanken gemacht. Denn die Schwachstelle schlecht hin ist sind ja GET und POST-Varibalen. Oder sollte man sich noch auf weitere Sachen konzentrieren? Zu den GET und Post-Variblen: Dabei sind mir vier verschiedene Möglichkeiten in den Sinn gekommen: 1. Ziffern (Bsp 98349) 2. einzelnes Wort (Bsp: delete) 3. Texteingabe (Bsp Ich bin ein Text mitvielen Sachen..) 4. Dateiupload (Bsp Upload von Bilddateien) Nun bin ich derzeit dabei mir zu überlegen, wie ich diese Dinge genau überprüfe, damit sie keine SQL-Injections, etc.drin hat. Aber leider fällt mir nichts genau ein. Wie würde ihr das am besten in jedem Fall machen? Ziel sollte es sein, dass alles böse rausgeworfen wird, damit ich dann vielleicht auch leere Ergebnisse am Ende herausbekomme aber eben sichere. Denn ich möchte dann für jeden Fall mir eine Funktion erstellen, durch die ich das get, bzw. post-Ergebnis durchlaufen lasse und dann eben den überprüften Wert herausbekomme oder eben ein leeres oder von bösen entferntes Ergebnis. -------------------- Zocko.de
Flashspiele kostenlos zocken und jeden Monat neue Preise abstauben... das, eine große Community, Free SMS Service und viel mehr auf Zocko.de Also, sei dabei!!! :dance: |
![]() |
| nitrit |
#2 Geschrieben am: So 10.02.2008, 14:59 (+00:16)
|
|
AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 240 Mitglied seit: 8.08.2007 |
PHP als Sprache? Ich nehme einfach mal an...
1. is_numeric | is_int | (int) 2. is_string ? ich glaube hier meinst du wohl mysql_escape_string 3. Dasselbe wie No 2? 4. $_FILES ... was möchtest du genau überprüfen? Die erste Überprüfung auf Typ könntest du schonmal per Dateiendung machen. Sollte diese stimmen, kannst du noch per Headerdaten auslesen die eigentliche Dateierweiterung herausfinden -------------------- |
![]() |
| bowling-liga |
#3 Geschrieben am: So 10.02.2008, 15:08 (+00:08)
|
![]() AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 56 Mitglied seit: 16.05.2007 |
-------------------- |
![]() |
| BartTheDevil89 |
#4 Geschrieben am: So 10.02.2008, 15:10 (+00:02)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 118 Mitglied seit: 6.12.2005 |
Hab jetzt mal jeweils Beispiele dazugetan...
-------------------- Zocko.de
Flashspiele kostenlos zocken und jeden Monat neue Preise abstauben... das, eine große Community, Free SMS Service und viel mehr auf Zocko.de Also, sei dabei!!! :dance: |
![]() |
| mainlink Mainlink Internet |
#5 Geschrieben am: So 10.02.2008, 15:53 (+00:42)
|
|
AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 202 Mitglied seit: 12.09.2007 |
jAuer, erbarmen Sie sich
Ziffern prüfe ich immer mit ctype_digit(). Falls ich einen von verschiedenen Strings erwarte, stopfe ich die zulässigen Werte ich ein Array und prüfe, ob der übergebene Wert darin vorkommt. trim und mysql_escape_string benutze ich immer; zusätzlich kürze ich die Länge des Wertes auf zu erwartende Werte, damit mir niemand Goethes Faust übergibt. Die o.g. Maßnahmen habe ich in entsprechende Funktionen aufgenommen, damit ich sie einfacher nutzen kann (checkNum() u.ä.) -------------------- Sichere (managed) Rootserver, Webspace und Mailaccounts unter FreeBSD: Mainlink Internet
|
![]() |
| Jörg Kruse |
#6 Geschrieben am: So 10.02.2008, 18:52 (+02:59)
|
||
|
AyomRank 5 Gruppe: Experten Entwicklung Beiträge: 394 Mitglied seit: 19.12.2004 |
Alles was vom Client kommt, ist nicht vertrauenswürdig - Dateiuploads hast du selbst schon genannt, aber auch Cookies sollten z.B. überprüft werden -------------------- |
||
![]() |
| sd12 |
#7 Geschrieben am: So 10.02.2008, 18:56 (+00:04)
|
![]() AyomRank 9 Gruppe: Moderatoren Beiträge: 3574 Mitglied seit: 3.03.2004 |
HEADERs, Browser Identification etc
-------------------- ************************
Treiber f[r das Kezboard ist [berfl[ssig. |
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#8 Geschrieben am: Mo 11.02.2008, 10:46 (+15:49)
|
||||
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2082 Mitglied seit: 4.02.2006 |
Das ist zunächst Unsinn. Der Nutzer kann alles mögliche schicken, er kann ja auch O'Neill heißen oder nach entsprechenden Ausdrücken suchen: 'Gibt es in der Datenbank ein Feld mit dem Inhalt <script>?' Entscheidend ist, daß lediglich aus Nutzername, Passwort und Session-ID sicherheitsrelevante Entscheidungen getroffen werden. Und wenn man konsequent gespeicherte Prozeduren verwendet, dann hat man kein Problem mit Sql-Injektionen. Das wird erst dann zum Problem, wenn man Sql-Code dynamisch zusammenbaut - das mache ich nicht, also kenne ich mich damit auch nicht aus -
Warum soll mich das interessieren? Daß solche Dinge keinen BufferOverflow erzeugen, darum müssen sich die Entwickler der Softwarepakete (NET, PHP, Apache, IIS) kümmern, ich muß die Patches einspielen. Ansonsten gilt dasselbe wie oben - als Parameter gespeicherter Prozeduren kann ich jeden Ausdruck übergeben. Schleifenkonstruktion: Alle übergebenen Werte im Seitencode in eine DataRow schaufeln, damit sind die Datentypen überprüft und können sofort zurückgewiesen werden. Dann in einer ausgelagerten DLL aus dieser DataRow eine Liste von Parametern bauen und diese dem Prozeduraufruf zuordnen. -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten: Web-Datenbanken als Online - CRM - Lösung. Konzentrieren Sie sich auf Ihr Kerngeschäft - nutzen Sie eine schlanke, schnelle Online-Datenbank von verschiedenen Standorten. |
||||
![]() |
| PH |
#9 Geschrieben am: Mo 11.02.2008, 12:34 (+01:48)
|
|
AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1099 Mitglied seit: 29.08.2004 |
Mod_Security für Apache fängt mit der richtigen Konfiguration sehr viele Angriffe per POST und GET ab.
|
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/22924
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| Post-it Popup | dominikh | 155 | 3 | Do 12.06.2008, 13:17 |
| Datei per POST senden | pl_90 | 402 | 8 | Di 2.10.2007, 19:22 |
| XML-POST mit fsockopen | patrickswelt | 291 | 6 | Mo 20.08.2007, 20:00 |
| Deutsche Post, Google Earth - Nischen | Yannick | 219 | 3 | Sa 11.08.2007, 10:25 |
| .net 2 Post requests hintereinander | flirtratgeber | 156 | 1 | Mo 2.07.2007, 07:23 |
| Post vom LKA :) | japsa | 747 | 13 | Mo 7.05.2007, 08:14 |
| PHP Adresse umwandeln in Variablen | binder_or_at | 339 | 3 | Sa 5.05.2007, 16:42 |
Anzeige - [Interessiert an einer Anzeige?]






















