Wie überzeugt man einen Ungläubigen?

Rund um die Sicherheit des Systems und die Applikationen
braindead
Posts: 250
Joined: 2002-10-22 09:49
Location: vorm Rechner
 

Wie überzeugt man einen Ungläubigen?

Post by braindead »

Folgendes ich hab einen Kumpel der sich nicht davon überzeugenlassen will das man kein includes auf willkürliche Dateien zulassen sollte. Er ist der Meinung das ganze wäre ja mit dem openbasedir gesichert. Sprich alles was über $_GET["open"] reinkommt wird ausgeführt. Ohne jetzt die Lücke wirklich ausnutzen zu müssen. Gibts ne Webseite auf der beschrieben wir warum man das auch wenn man die openbasedir drin hat nicht macht?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11183
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Wie überzeugt man einen Ungläubigen?

Post by Joe User »

Sollte ausreichend informativ sein: http://www.google.com/search?hl=en&q=ph ... gle+Search

Zur Demo kannst Du ihn ja mal /dev/zero oder /dev/urandom includen lassen 8)
Last edited by Joe User on 2006-06-23 23:18, edited 1 time in total.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
 

Re: Wie überzeugt man einen Ungläubigen?

Post by daemotron »

Es gab immer mal wieder Lücken in der Implementierung von PHP, die open_basedir außer Gefecht gesetzt haben - z. B. http://bugs.php.net/bug.php?id=28632
Mal abgesehen davon verlässt man sich nie auf nur eine Sicherheitsbarriere...

Übrigens: Richtig haarig wird's, wenn innerhalb des virtuellen Hosts Verzeichnisse existieren, in die der Apache-User schreiben darf (z. B. für diverse CMS und Wikis vonnöten). Dann kann man sich einfach nicht mehr drauf verlassen, dass in diesen Verzeichnissen (die ja innerhalb des open_basedir liegen) keine bösartigen Dateien liegen!
braindead
Posts: 250
Joined: 2002-10-22 09:49
Location: vorm Rechner
 

Re: Wie überzeugt man einen Ungläubigen?

Post by braindead »

Joe User wrote:Zur Demo kannst Du ihn ja mal /dev/zero oder /dev/urandom includen lassen 8)
geht ja dank des openbasedirs net ;)
jfreund wrote:in die der Apache-User schreiben darf (z. B. für diverse CMS und Wikis vonnöten). Dann kann man sich einfach nicht mehr drauf verlassen, dass in diesen Verzeichnissen (die ja innerhalb des open_basedir liegen) keine bösartigen Dateien liegen!
*arg* genau nach dem argument hab ich gesucht... ich mein mir persönlich is schon klar das man das net macht, aber er wollte es mir ja net glauben. Mal sehen was er zu den neuen erkenntnissen sagt.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11183
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Wie überzeugt man einen Ungläubigen?

Post by Joe User »

Irgendwie habe Dich missverstanden, sorry.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
lord_pinhead
Posts: 774
Joined: 2004-04-26 15:57
 

Re: Wie überzeugt man einen Ungläubigen?

Post by lord_pinhead »

Erzähl mal genauer was dein Freund includen will. 99% kannst du mit regexp abfangen, wenn es nur html oder php dateien sind, dürfte man mit relativ statischen includes ganz einfach hinkommen

Code: Select all

<?php
if (isset($_GET['filename'])) {
	if (eregi('(http|https|ftp|ftps|[0-9])', ($_GET['filename']))) {
	die;
	} else
	include $_GET['filename'] . ".html";
} else {
	include ("standard.html");
}
?>

link:
<a href="meinedatei" target="_self">meine Datei.html</a>
Das ist allerdings statisch auf die Dateinamenserweiterung .html ausgelegt, aber damit verhinderst du relativ easy das jemand per Get Parameter seine Files einbindet. Allerdings kannst du in dem Beispiel auch nicht mit zahlen arbeiten ;)
braindead
Posts: 250
Joined: 2002-10-22 09:49
Location: vorm Rechner
 

Re: Wie überzeugt man einen Ungläubigen?

Post by braindead »

In dem fall würde der include über ein einfaches Array auch reichen, das ist ja net das Problem. Darum gehts aber auch nicht, ich will ihn ja nur davon überzeugen das er seinen Code änert.

Das waren übrigens net alles probleme, SQL Injektion war auch ohne probleme machbar, durch den Code muss er also nochmal komplett durch ;)