Jop, das mit den Schreibrechten ist eh klar
Ansich ist es kein Problem, diese Datein mit 777 anzulegen, auch wenn man darin schreiben kann.
Muß dann eben in den scipt diverse hackerchen abfangen müssen
Jop, das mit den Schreibrechten ist eh klar
Ansich ist es kein Problem, diese Datein mit 777 anzulegen, auch wenn man darin schreiben kann.
Muß dann eben in den scipt diverse hackerchen abfangen müssen
Von aussen sollte an die Datein eh keiner ran kommen können, da dies der Server abfängt und die Richtlinien von PHP unterbinden (in der Standard-Konfiguration).
Probier das Script einfach mal aus und sage mir, ob es funktioniert, oder ob es vielleicht noch nachgebessert werden müsste!
Gerade so Funktionen wie exec sollten eigentlich in JEDEM PHP über die php.ini verboten sein! Denn durch diese Funktion kann man dann direkt die Schadsoftware auch noch im Root installieren und bleibt nicht nur auf der Oberfläche!
Nein, definitiv nicht. In vielen Konfigurationen, so wird das auch gemacht, kann ich PHP sagen, welche Befehle ich ausführen möchte. Bei fcgid z.B. ist das Standardeinstellung. Viele Software der Systemüberwachung auf Webbasis kommen an den Befehlen gar nicht vorbei. Davon mal ab, ist es Schadsoftware meist egal, wo die im System hängt. Wenn der webuser ins System schreiben kann, da hilft auch kein verbieten der Funktionen, dann würde ich am Sicherheitskonzept nachbessern.
jay-ar
PS: Ich durfte mir schon einige komprimittiere Server anschauen/untersuchen. Veraltete Software(mit Lücken) und fehlerhafte Webeinstellung bzw. Rechtevergabe waren meist die Löcher, durch die geschlüpft wurde.
Geändert von jay-ar (20.10.2010 um 10:07 Uhr)
Ihr seid aber kompliziert!
file1.php bis file3.php
index.phpPHP-Code:
<?php
echo 'hier komt dein php code';
##hierkommtmeinarray##
echo 'hier komt dein php code';
?>
und als rar zum testenPHP-Code:
<?php
$files = array('file1.php','file2.php','file3.php');
$value1="VALUE1"; $value2=null; $value3="VALUE3"; $value4="VALUE4"; $value5=null;
$meinArray ='$action = array( ';
//für FormDaten $_GET oder $_POST verwenden
if (isset($value1)){$meinArray .= '"KEY1" => "'.$value1.'", ';}
if (isset($value2)){$meinArray .= '"KEY2" => "'.$value2.'", ';}
if (isset($value3)){$meinArray .= '"KEY3" => "'.$value3.'", ';}
if (isset($value4)){$meinArray .= '"KEY4" => "'.$value4.'", ';}
if (isset($value5)){$meinArray .= '"KEY5" => "'.$value5.'", ';}
$meinArray=substr($meinArray, 0, -2); $meinArray .= " );";
foreach ($files as $filename){
$inhalt = file_get_contents("source/".$filename);
$mitArray = str_replace('##hierkommtmeinarray##',$meinArray,$inhalt);
file_put_contents("dest/".$filename,$mitArray);
}
?>
str_replase.rar
pass:ecomservice.de
Dieser Source Code unterlieg dem Urheberrecht. Übernahme, Speicherung, Vervielfältigung, Wiedergabe und sonstige Verwendung gleich welcher Art ist - auch Auszugsweise - NICHT ERLAUBT. (c) by eComService.de
wow, ein sehr guter Ansatz.
Jetzt stellt sich nur die Frage, wie kann ich den alten array durch den neuen ersetzen.
es müßte also sowas sein, wie zwischen zwei kommentaren zu ersetzen.
zB
im File:Damit wäre es dann relativ einfach und auch egal, wie der alte Array ausgesehen hat, weil dann einfach ein neuer geschrieben wird.Code:##hierstartetmeinarray## $action = array( do1=>value1, do2=>value2 ); ##hierendetmeinarray##
Im alten File steht ja dieser array noch drinnen, muß also auch ersetzt werden, sonst gibts mehrere arrays, das wäre dann auch nicht so gut.
richtig, du musst den alten array aus den files löschen und durch ##hierkommtmeinarray## ersetzen.
kannst du mir per PM mehr infos zukommen lassen?
Hallo Leute, hier noch ein script wo mir Berny geholfen hat (ein megadankeschön an Dich, Berny!!)
Es soll in einer html datei bestimmte worte finden und diese durch ein anders wort ersetzen und die html datei wieder speichern:
PHP-Code:
<?php
$debug=1;
$datei = ("datei_zum_bearbeiten.html");
// die datei zum bearbeiten kann z.b. normale html-formatierung haben, z.B:
//<font size=2>name</font>
// wobei "name" dann durch Peter ersetzt wird.
$inhalt_change[0]['suche'] = "name"; // diesen String in der Datei suchen
$inhalt_change[0]['ersetzen'] = "Peter"; // mit diesen String ersetzen
$inhalt_change[1]['suche'] = "nnam";
$inhalt_change[1]['ersetzen'] = "Mustermann";
$inhalt_change[2]['suche'] = "titel";
$inhalt_change[2]['ersetzen'] = "Dr. Prof. of Muster";
$inhalt_change[3]['suche'] = "desc";
$inhalt_change[3]['ersetzen'] = "Leidenschaftlicher Mustermacher";
$inhalt_change[4]['suche'] = "firm";
$inhalt_change[4]['ersetzen'] = "Musterfirma GmbH";
$inhalt_change[5]['suche'] = "strs";
$inhalt_change[5]['ersetzen'] = "Musterstrasse 14";
//$inhalt_change[6]['suche'] = "altes wort";
//$inhalt_change[0][6]['ersetzen'] = "neues wort";
//$inhalt_change[7]['suche'] = "altes wort";
//$inhalt_change[7]['ersetzen'] = "neues wort";
// der Vorgang lässt sich ohne Probleme erweitern
if (is_writable($datei)) {
$contents = file_get_contents($datei);
for($j=0; $j<count($inhalt_change);$j++) {
$contents = str_replace($inhalt_change[$j]['suche'], $inhalt_change[$j]['ersetzen'], $contents);
}
$datei_handle = fopen($datei, "w+");
if (!fputs($datei_handle, $contents)){
echo "Kann die Datei $datei nicht beschreiben";
exit;
}
fclose($datei_handle);
} else {
print "Die Datei $datei ist nicht schreibbar";
}
?>
ganz cool. aber wofür braucht man sowas?
viele Grüße
Regina
----------------------------------------------------------------------------------------------------------------------------
"...und wenn Dir ein Vogel auf den Kopf scheißt, lächle und sei froh das Kühe nicht fliegen können"
Individuelle Shop-Templates, Webdesign und Printsachen vom WalterGestalter
Kontakt gerne per Mail mail@waltergestalter.de oder telefonisch 0711-50873186
Individuelle Geschenke für Kinder und alle die sie lieben gibt es bei ginanina.de
naja, wenn du bestimmte Datein auf einfache Weise ändern willst.
geht auch mit anderen Programmen, aber eben auch mit php.
Der Spracheditor des Buttoncreators verwendet sowas zb, aber es könnte auch andere Verwendungsmöglichkeiten geben.
Man muß ja nicht immer alles hinterfragen ;-)
Ach ja, war übrigens eines der "geheimen" Projekte die ja angeblich nicht über PM oder E-Mail abgelaufen sind.
Das Ergebnis zählt, und das passt