|
| Sascha Ahlers |
Geschrieben am: So 8.04.2007, 20:16
|
||||||||||
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1701 Mitglied seit: 27.12.2004 |
Das habe ich nicht behauptet, dreh mir meine Wörter nicht im Mund um, das kann ich im Moment überhaupt nicht leiden!
Das ist mir durchaus bewusst, les mal etwas weiter oben.
Trotzdem kann dann noch immer in andere Ordner der Anwendung gesprungen werden, was auch nicht unbedingt ungefährlich ist.
Hmm, das ist mir neu, das war sie jedoch nicht immer: http://web.archive.org/web/20050831174532/...n.quotemeta.php Ich glaube das war sogar letztes Jahr noch anderes. -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
||||||||||
![]() |
| MarkusH |
#22 Geschrieben am: So 8.04.2007, 20:35 (+00:18)
|
||||
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 79 Mitglied seit: 2.11.2006 |
Es lag nicht in meiner Absicht, Dir Deine Worte zu verdrehen. Der Sinn der zusätzlichen decodierung erschließt sich mir trotzdem nicht, da doch ein String-Abgleich stattfindet. Ist mit aber auch wurscht, denn ich stimme ja zu, daß eine whitelist bzw. Dein Mapping oder ein Ähnliches wohl das sicherste System ist. |
||||
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#23 Geschrieben am: So 8.04.2007, 20:36 (+00:01)
|
||||||||
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2440 Mitglied seit: 4.02.2006 |
Was soll 'quotemeta' nutzen, wenn jemand eine Url in der Form
angibt? Oder zum Klicken:
man landet auf der Startseite, nicht auf der Unterseite Und dieses Problem ist alles andere als trivial. Bei Microsoft gab es damals Bugs, wo in solchen Strings, die natürlich keinen '.' mehr enthalten, zusätzlich das Prozentzeichen noch über eine andere Technik codiert wurde. Das Problem ist in solchen Fällen, daß die Systemfunktion include usw. bsp. im Rahmen eines Versionsupdates erweitert wird und deshalb plötzlich solche Zeichenketten korrekt auflöst, die früher unaufgelöst geblieben sind. Sprich: Ein Versionsupdate erzeugt einen neuen Bug. Man kann auch die Daten als UTF-16 übergeben und dort jedes Byte nach so einer Methode codieren. Neulich hatte mal jemand einen Link gepostet, wie man in mySql über eine entsprechende Codierung das ' so maskiert, daß es von den üblichen Schutzmechanismen gegen Sql-Injektionen nicht gefunden wird, im Sql-Code jedoch trotzdem seine Wirkung entfaltet. Dies hier sind analog tiefgreifende Probleme, nur daß man diese nicht - wie bei Sql-Injektionen - durch den Übergang zum kompilierten Code mit Parameterübergabe umgehen kann, wie ich das in meinem sehr großen System mache. -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung. Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert. |
||||||||
![]() |
| Sascha Ahlers |
#24 Geschrieben am: So 8.04.2007, 20:47 (+00:10)
|
||||
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1701 Mitglied seit: 27.12.2004 |
Mal ein schönes Beispiel:
Die Ausgabe wird hier wahr ausgeben, obwohl es von der Programmierlogik eigentlich falsch sein sollte. Damit dieses Konstrukt funktioniert, muss damit so umgegangen werden - wobei es nur den richtigen Wert gibt, weil die Typen unterschiedlich sind (String und Interger)!
Darum sage ich bei Sicherheitsfragen lieber, wenn kein Exploit existiert. So sollche sich auch auf open_basedir nicht unbedingt 100% verlassen werden, darauf weißt Stefan Esser hin. @jAuer: Schöne Erklärung. Bei Wordpress gab es bspw. auch mal SQL-Injektions über Trackbacks, weil diese mit UTF-7-Kodierung verschickt wurden [1]. Zeichenkodierungen sind ein wirklich unüberschaubares Problem, was viele leicht übersehen oder verkennen. [1] PHP-Hardened: Advisory 02/2007: WordPress Trackback Charset Decoding SQL Injection Vulnerability Bearbeitet von Sascha Ahlers am So 8.04.2007, 20:54 -------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
||||
![]() |
| MarkusH |
#25 Geschrieben am: So 8.04.2007, 21:31 (+00:43)
|
||
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 79 Mitglied seit: 2.11.2006 |
Das ist eine Sache zwischen Browser und Server oder hast Du hier gerade eine Schwachstelle in Deiner Software gezeigt? Das Ergebnis in PHP lautet ungefiltert file_exists('tabellen.html%2F%2E%2E%2F') und das ist false. Wenn es dann übersetzt ist, greift wieder quotemeta. Mich würde aber wirklich mal ein String interessieren, der für solche Angriffe benutzt werden kann und zum Beispiel ein "../" faked, daß auch in einen include oder file_exists passt. |
||
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#26 Geschrieben am: So 8.04.2007, 21:57 (+00:26)
|
||||||||
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2440 Mitglied seit: 4.02.2006 |
Das Beispiel ist ja auch bloß für den Browser, zum Klicken. Das Beispiel darüber
wäre etwas, das man zum Injizieren testen könnte. Und spätestens dann, wenn das mit einer Url der Form
verknüpft wird, erzeugt %2E einen Punkt und stellt insgesamt eine gültige Zeichenfolge dar. Ob das PHP auch beim relativen Testen in bezug auf das Dateisystem macht, weiß ich nicht. Aber das ist ja gerade das Problem: PHP macht es vielleicht heute nicht - und morgen macht es das, im Rahmen eines Updates zur besseren Unterstützung von Sonderzeichen. -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung. Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert. |
||||||||
![]() |
| TTlong |
#27 Geschrieben am: Mo 9.04.2007, 20:21 (+22:23)
|
||
|
AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 324 Mitglied seit: 8.02.2007 |
So, ich habe es jetzt einfach mal so gelöst:
Ist es so OK oder kann man auch hier ausbrechen? Wenn ja, wie? -------------------- Linkpartner für verschiedene Erotik-Projekte gesucht => PN genügt
|
||
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#28 Geschrieben am: Mo 9.04.2007, 21:33 (+01:12)
|
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2440 Mitglied seit: 4.02.2006 |
Ich wüßte nicht, wie man aus einem Vergleich mit Elementen einer Whitelist ausbrechen könnte.
Denn das sind nur noch Stringvergleiche, die liefern ein eindeutiges Ergebnis. Ich prüfe bei den Aufrufen von Ausgabeseiten (da werden ab und an nicht existente PHP-Seiten aufgerufen als Versuch, die zu hacken) auch, ob dieser Kunde eine solche Ausgabeseite definiert hat - das sind analoge Stringvergleiche über die Datenbank. Und gibt es die Seite nicht, wird ein 404 zurückgeliefert - bei dir ein die(). Sprich: Das ist ok. -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung. Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert. |
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
« Neues Projekt, brauche Tipps, Hoster usw. | Server-Technik, Domains & Security | wo bekommt ihr eure domains? »
Trackback-Url: http://www.ayom.com/track/t/17737
Seiten: (2) 1 [2] |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| Frage zum Neckermann Weihnachtsprogramm | xxt | 74 | 0 | Mo 24.11.2008, 11:46 |
| SQL Tabellenstruktur Frage | lalo | 163 | 10 | Fr 21.11.2008, 10:41 |
| Frage zu: SEO-Webspace | chipchip | 111 | 4 | Mi 19.11.2008, 21:56 |
| Frage an die SEO - Profis | Dieter | 239 | 3 | Di 18.11.2008, 21:21 |
| Frage zu Google-Suche | Basti Hoesl | 292 | 6 | Di 18.11.2008, 18:25 |
| MySQL Frage | G.P. | 105 | 2 | Mo 17.11.2008, 15:59 |
| MySql Frage - ID Ändern | EuD | 122 | 2 | Di 4.11.2008, 11:09 |
| Frage zu Internetgewerbe | projektgewerbe | 197 | 3 | Mo 3.11.2008, 21:52 |
| mod_rewrite Frage | Coach | 324 | 8 | Di 21.10.2008, 08:01 |
| RewriteRule Frage | Bleys | 254 | 11 | Fr 10.10.2008, 20:15 |
Anzeige - [Hier werben / Mediadaten]
















