[TYPO3-german] Re: SQL-Injections in CONTENT möglich?

Henning Pingel henningt3 at henningpingel.de
Thu Jul 19 21:12:34 CEST 2007


Martin Holtz schrieb:
> kann mir jemand sagen, ob folgender Code gefährlich ist:
> 
> test = CONTENT
> test {
>         table = tt_content
>         select.selectFields = *
>         select.where = 1=1
>         select.andWhere.insertData = 1
>         select.andWhere (
>          tt_content.pid = {GPvar:test}   
>         )
> }
> 
> Ist meine Seite dann über den Parameter test Angreifbar?
> 
> Geht der Inhalt von "andWhere" direkt in das SQL für die Datenbank?
> 
> Und wenn ja, gibt es eine Möglichkeit den Inhalt via mysql_real_escape oder
> ähnlichem zu behandeln? Muss ich da ne User-Funktion schreiben?
> 

Hallo Martin,

eine interessante Frage. Ich kann sie Dir nicht 100%ig beantworten. Ein
paar Gedanken dazu kann ich aber nicht zurückhalten:

1) "andWhere" wird in der class.tslib_content.php in der Methode
getWhere() verarbeitet (das ergab jedenfalls meine Suche im Sourcecode
von TYPO3 4.0. [1]

2) "andWhere" bietet die Möglichkeit, sich mit stdWrap am Inhalt
auszutoben. Dort könnte man beispielsweise "intval" benutzen, um
sicherzustellen, dass es ein Integer-Wert ist, oder crop, um die
Stringlänge einzugrenzen (ferner htmlSpecialChars, aber von
mysql_real_escape habe ich nichts gefunden, macht ja auch in stdWrap
keinen rechten Sinn.

3) Probier's doch einfach mal selbst aus. Übergib dem Parameter mal
etwas zuviel Daten und schau, wie er reagiert.

Viele Grüße
Henning

[1]
http://typo3.org/fileadmin/typo3api-4.0.0/d4/d1b/class_8tslib__content_8php-source.html#l06668


More information about the TYPO3-german mailing list