Mit PHP Quellcode suchen und einfügen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anleitung
befehl
beispiel
code
datei
file
http
idee
machen
manual
niemand
nutzen
post
problem
quellcode
server
sprache
text
url
vermeiden
-
HeyHo,
ist es möglich Quellcode in allen Datein des Webspaces zu suchen (bestimmten) und dann nach einem bestimmten befehl suchen und wenn der nicht gegeben ist ihn automatisch hinzuzufügen?
Wenn ja habt ihr eine Anleitung bzw, wenns nicht viel Code ist den vlt. selber schreiben? Ich brauch das dringend danke :)
Beitrag zuletzt geändert: 20.7.2014 6:47:01 von tecfreak -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Grundsätzlich geht das natürlich, aber das kann z.B. aufgrund von Script-Timeouts auch schief gehen.
-
Wei fabo bereits sagt, ist das technisch ohne weiteres möglich.
Die Frage, die sich mir aufdrängt, ist, warum ich nach bestimmten Befehlen suchen soll (was eine vorher nicht definierte Zeit dauern kann), und das ganze auf dem eigenen Webspace, über den du selbst die Kontrolle hast.
Du hast doch mit dem Webspace die Möglichkeit, bei deiner Programmierung zu sagen: dieser Befehl ist in dieser Datei. Binde diese ein, und führe diesen und jenen Befehl aus.
Wozu also nach einem Befehl suchen? Eine Elegante und performante Lösung wäre das in keinem Fall.
Oder eht es dir darum, zu wissen, ob gewisse PHP-Instruktionen bei dem einen oder anderen Anbieter gesperrt oder verfügbar sind? (http://php.net/manual/de/function.function-exists.php) -
Also noch ein kleines Verständnisproblem. Ich könnte mir vorstellen, dass du z.B. sowas wie google analytics bei all deinen Seiten einfügen willst, eben in die Richtung. Aber du schreibst Befehl; Was genau meinst du? Redest du von PHP Befehlen, also Funktionen? Die kann man ja einfach einbinden, und muss nicht überall voll stehen.
Aber wenn es darum geht, dass du viele Dateien hast und solche Dinge über einen Schritt machen willst, dann ja. Wenn es was anderes ist beschreibst du das am besten, vielleicht gibt es auch noch eine bessere Lösung. -
tecfreak schrieb:
... ist es möglich Quellcode in allen Datein des Webspaces zu suchen (bestimmten) ...
Ja.
... und dann nach einem bestimmten befehl suchen ...
Ja.
... und wenn der nicht gegeben ist ...
Nein. Du kannst nicht nach etwas suchen, was NICHT vorhanden ist.
... ihn automatisch hinzuzufügen?
Jaein. Angenommen, ich habe ein Muster, mit dem ich nach Textstellen suchen kann, an denen ich anschließend etwas einfügen möchte: Das ist möglich bei simplem Text, bei auführbaren Quelltexten ist das ein äußerst schwieriges Unterfangen, wenn das Ergebnis nach der Änderung noch fehlerfrei laufen soll.
Wenn ja habt ihr eine Anleitung bzw, wenns nicht viel Code ist den vlt. selber schreiben?
Dafür kanns keine Anleitung geben, weil so eine Aktion für jeden Anwendungsfall unterschiedlich wäre.
Du hast auch keinerlei konkrete Angaben gemacht, was du ändern willst (irgendein vorinstalliertes Script-Paket?), und auch nicht, was du einfügen möchtest ...
Ich brauch das dringend danke :)
Teile mir mit, was du dafür ausgeben möchtest, dann sag ich dir ob du das wirklich dringend brauchst. -
Ich bin security researcher. Eigtl. wäre es ja für die Entwickler ziemlich einfach mit einem kleinen Befehl ihre Scripte zu schützen! Tun sie aber nicht. Also möchte ich ein Script anbieten was man installiert und jede Woche einmal alle Scripte nach POST und GET requests durchsucht und wenn htmlspecialchars z.B. nicht gesetzt sind diese Automatisch hinzufügen lassen.
mfg -
und schaffst damit eine neue Möglichkeit, dass Codes eingefügt werden könnten ,die genau dem entgegen wirken?
Die Leute sollen endlich anständig programmieren lernen, schreib lieber ein anständiges Tutorial für diese Leute, die sie dazu befähigt Punkt für Punkt ihren Quellcode so aufzubauen, um potentielle Sicherheitslücken zu vermeiden... Was ist, wenn der Code genau so vorliegen muss, weil sonst das Program nicht funktioniert? das würde dann die Funktionsfähigkeit zerstören... und wie würde er das machen? wildcardsuche über XML-File? was ist, wenn jemand das findet und seinen Schadcode darüber reinfriemelt, quasi die Seuche in das Programm manifestiert? -
Es macht doch aber leider niemand! Das ist doch das dumme.
Ich wollte das man über das Script Sprachen auswählen kann. Also auswahl PHP, dann wird nach GET und POST gefiltert in allen .php Datein und dann wird bei beispielsweise 2 Datein ein htmlspecialchars($...) eingefügt um XSS zu vermeiden. So dachte ich mir das. Das Script wird natürlich mit einem LoginScript abgesichert(LoginScript mit LoginSperre und Bruteforce Schutz). -
tecfreak schrieb:
Wenn ich etwas scripte denke ich immer, dass ich auf solche Dinge achten muss, weil es sonst zu meinem Problem wird. Sicher, theoretisch könnten auch die Nutzer betroffen sein, aber sobald es sensible Daten werden, ist Sicherheit auch ein grosses Thema und wird nicht einfach ignoriert. Wenn es unsensible Daten sind und ich diese als Anbieter nicht genug schütze verärgre ich Nutzer, was schlussendlich auch zu meinem Problem wird.
Es macht doch aber leider niemand! Das ist doch das dumme.
Ich denke die einzigen, die kein Plan davon haben, sind Neulinge. Wie sebulon gesagt hat, ist da ein Tutorial besser angebracht, aber ich denke das lernt jeder früher oder später. Ich sehe das script auch als negativ an.
Wenn du es jedoch doch noch lösen willst, geht das ganz einfach mit Google.
Wenn du alle Dateien im Ordner auslesen willst, google danach.
Diese dann noch einlesen und schlussendlich bearbeiten.
Damit solltest du echt alles finden, sogar mit Beispielen. -
Also wenn du ein Script schreiben willst, welches IN FILES AUF DEM SERVER SCHREIBT musst du das dann bitte bitte mit höchster Vorsicht geniessen. Sobald jemand in dieses Script reinkommt bzw es schafft seinen eigenen Code dort zu platzieren, hat er volle Verfügung über deine Daten...
Files mit .php endung finden: glob -> http://php.net/manual/en/function.glob.php (noch nie damit gearbeitet)
Files dann durchsuchen: fopen, fclose,... preg_match
und ersetzen würde ich auch wieder über regex also preg_match
Ich würde dies nicht über PHP machen sondern das Script auf dem Server platzieren. Also kein PHP, welches dann über Web ausführbar ist, sondern eine andere Script Sprache, welche auf dem Server verwendet wird. Vlt ein Unix-Script oder bash oder sowas. Wenn es ein Linux Server ist, kannst du dann ja über CronTab das ganze immer Wöchentlich ausführen lassen.
Schlussendlich ist aber die Tutorial Variante ganz klar die bessere, denn auf die Dauer müssen es die Entwickler schon selber sehen was sie tun, ansonsten ist es nicht möglich, dass die Produkte wirklich gut sind... -
Ich bin mir nicht sicher denke abe rdas könnte hier her passen.
Wenn ich nun von einer bestimmten Seite einen Wert auslesen und auf meiner Seite nutzen will (ohne dass ich den Script von der anderen Seite kenne) geht das?
Beispiel:
Auf der Seite
GCmap
wird eine Entfernung in Kilometer ausgeworfen, die ich gern für mich nutzen würde. -
Hallo!
airfield-manager schrieb:
Ich bin mir nicht sicher denke abe rdas könnte hier her passen.
Wenn ich nun von einer bestimmten Seite einen Wert auslesen und auf meiner Seite nutzen will (ohne dass ich den Script von der anderen Seite kenne) geht das?
Beispiel:
Auf der Seite
GCmap
wird eine Entfernung in Kilometer ausgeworfen, die ich gern für mich nutzen würde.
Mach doch dazu bitte einen neuen Thread auf!
Ja, das geht mit RegEx. Ich kenne mich aber nicht so gut damit aus, weshalb ich dir nicht beantworten kann, wie.
Du suchst nach der Zeile wo "total" steht mit den 3 freien Tabellenfeldern. Dann filterst du daraus die Zahl aus dem letzten Feld heraus. Das wäre meine Idee. Das Script dafür kann ich dir leider nicht sagen.
MfG. Simon D. -
tecfreak schrieb:
Ich behaupte, dass das zu einfach gedacht ist. Wer sagt denn, dass der Programmierer nicht erst den Wert einer $_POST Variablen zwischenspeichert und später htmlspecialchars() anwendet. In einigen Fällen ist htmlspecialchars() nicht ausreichend oder behandelt das falsche Problem. Für SQL reicht htmlspecialchars() nicht, für Zahlen ist der Cast nach int meistens besser etc.
Es macht doch aber leider niemand! Das ist doch das dumme.
Ich wollte das man über das Script Sprachen auswählen kann. Also auswahl PHP, dann wird nach GET und POST gefiltert in allen .php Datein und dann wird bei beispielsweise 2 Datein ein htmlspecialchars($...) eingefügt um XSS zu vermeiden. So dachte ich mir das. Das Script wird natürlich mit einem LoginScript abgesichert(LoginScript mit LoginSperre und Bruteforce Schutz).
Echte-Welt Beispiel (Teil meiner neuen Webseite, die leider noch nicht fertig und daher noch nicht online ist):
// ... function msg(...) { // ... $agent = $this->enc_text_field($_SERVER["HTTP_USER_AGENT"]); // ... } // ... weiter unten dann die Funktion ... private function enc_text_field($text) { return base64_encode(substr($text, 0, mawebsite4_wal::MAX_FIELD_LEN)); }
In diesem Falle werden die Eingaben base64 Kodiert und sind damit garantiert sicher, htmlspecialchars() würde die Daten nur unnötig verändern, was hier zwar nicht unbedingt schaden würde, aber in anderen Fällen für Probleme sorgen kann.
Ein Tutorial kann das Problem natürlich in Zukunft lindern, aber das hilft ja für den bestehenden Code nichts. Ich würde daher vorschlagen, die Seiten nicht automatisch zu bearbeiten, sondern dubiose Stellen einfach per regulären Ausdrücken zu suchen. Da kann dann ja auch meine Codestelle von oben herauskommen -- das Ergebnis muss eben erst interpretiert werden -- erst dannach können Maßnamen zur "Verbesserung" ergriffen werden. Automatisch würde ich es nicht durchführen lassen. -
So ganz verstanden hab' ich jetzt nicht, was du vor hast.
Allerdings: Du kannst theoretisch in jede PHP-Datei eines Verzeichnisses eine andere PHP-Datei am Anfang oder Ende einfügen. Ohne manuelles inkludieren.
Das tut über eine .htaccess-Datei:
php_value auto_prepend_file "/PFAD/DATEI_ANFANG.php"
php_value auto_append_file "/PFAD/DATEI_ENDE.php"
Allerdigns hab' ich nicht probiert, ob das hier so klappt. -
Also wenn ich dass hier so lese, dann wird mir schon wieder schlecht. Wenn Coder es nicht hin bekommen ihre Scripts anständig abzusichern, dann haben deren Scripts nichts auf einem Poduction Server verloren. Ende der Diskussion! Aber den faulen Säcken auch noch in die Karten zu spielen, in dem man deren Dummheiten wieder ausbügelt ist definitiv nicht der richtige Weg.
Mal abgesehen davon dass man mit sowas die Dummen und Faulen unterstützt, ist von solchen Methoden so oder so abzuraten. Größere Löcher in die Security kann mit solchen Scripts wirklich nicht in ein System machen, selbst wenn man alles doppelt und dreifach checkt. Automatisierte Code Änderungen sind ein NoGo und das aus gutem Grund. -
Wie wäre es einfach das $_POST/$_GET-Array zu säubern bevor der Rest des Codes ausgeführt wird?
http://php.net/manual/en/filter.filters.sanitize.php
http://php.net/manual/en/function.filter-input.php
Dadurch kann man alle Nutzereingaben filtern bevor darauf zugegriffen wird.
Einfach das $_POST-Array beispielsweise mit den gesäuberten Inhalten befüllen. Natürlich dabei die "unsauberen" Inhalte überschreiben.
Beitrag zuletzt geändert: 4.9.2014 16:27:02 von karlsve -
Hallo
ich will dazu folgendes sagen,
die Idee einfach für alle POST / GET Variablen ein htmlspecialchars() o.ä. hinzufügen,
ohne zu Wissen was das Script mit den Variablen macht, ist totaler Quatsch.
... so einem Script, das fremde, unbekannte andere Scripte "umschreibt"
ist totaler Wahnsinn, und wird wohl mehr Scripte zer-schiessen als reparieren.
Wer sich auf so was einlässt (sein Script von Deinem "umschreiben" zu lassen)
dem ist sowieso nicht mehr zu Helfen ...
Du sprichst von "Sicherheit" und stellst selber ein MEGA Risiko dar,
denn wenn man Dir (Deinem Script) die Rechte geben würde,
im eigenen (für Dich unbekanntes und fremdes Script) rum zu schreiben.
dann hat man damit ein gaaaaaaaaaanz großes Sicherheits-Loch erst auf gemacht
Zitat: (tecfreak)Ich bin security researcher
Meine Meinung:du bist ein Sicherheits Risiko !!!
... security ? ... Vertrauen soll man Dir ? ... total lächerlich !!!
... wie viele versprechen im Internet, wie "Gut" sie seien,
und knallen dann durch Hintertüren Deinen Rechner (oder Script) mit MaleWare zu
nur ein Beispiel ... viele (kostenlose) Wordpress Themes "infizieren" Dein WP,
die sehen nichtmal schlecht aus, aber öffenen Hitertürchen zum WP System
oder anderes BSP ... gratis PHP-Scripte, die "mehr" Sicherheit versprechen,
aber in Wirklichkeit nur den Zweck haben Schad-Code (=MaleWare) zu verbreiten
ich möchte Alle (vorallem unerfahene / Anfänger) hiermit warnen,
nicht jedes "kostenlose PHP-Script" macht NUR das, was es verspricht,
sondern viele sind nur Tarnung um Deinen Webspace zu kapern
... und Deine Idee ... ein Script, das "mein" Script Quellcode umschreiben kann
passt genau in dieses Schema ... GEFAHR !!!! ... finger weg ... total lächerlich !!!
.. aber irgendie auch Lustig die Idee ... guter Scherz ... wäre was für 1. April
Nochmal .. wer sich auf sowas einlässt, dem ist sowieso nicht mehr zu Helfen.
Jeder mit gesundem Verstand erkennt doch sofort,
das es ganz bestimmt NICHT Gut ist wenn fremde
im eigenen Quellcode solche Änderungen machen können
... *da lach ich drüber* ...:xD ... wenns nur als Witz war, ... der war gut .. :=)
:P
Beitrag zuletzt geändert: 5.9.2014 8:51:03 von gamebox -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage