Das längste Thema

  • wie kommst Du darauf?

    frag Teenies nach einer E-mail Adresse und Du wirst ein Staunen hervorbringen,

    welches dafür sorgt dass sie dich anstarren wie ein Mondkalb;:D

    Naja, mehr als 1 Minute googeln kostet sie das aber auch nicht. Noch ne Minute und sie haben eine kostenlose E-Mail-Adresse - falls sie E-Mail vorher wirklich nicht gekannt haben sollten.

  • Naja, mehr als 1 Minute googeln kostet sie das aber auch nicht.

    wohin denkst Du, dich werden Teenies auch anstarren wie ein Mondkalb;

    deren IT-Wissen beschränkt sich auf Facebook, YouTube und WhatsApp :D


    und man tauscht keine Nummern aus,

    sondern WhatsApp werden heutzutage ausgetauscht;:D


    und wennst noch mehr angestarrt werden willst wie ein Mondkalb dann

    stelle die Frage nach der Farbe von Kühen¹ od. nach einem IBAN² :D


    ¹ Kühe sind lila, Milka ist der hinreichende Beweis:P

    ² die Wahrscheinlichkeit dass sie hier Papas Kreditkartennummer ausplaudern ist durchaus gegeben;)

  • Ich war heute fleißig und habe mir endlich mal ein post-install bash-Skript für die immer wiederkehrenden Arbeiten auf den Servern erstellt. :)

    Hat ne Weile gedauert, aber in Zukunft spart mir das Zeit und vor allem nervtötendes Getippe von altbekanntem.;)

    Jetzt ist noch Finetuning angesagt. :)

  • aRaphael ansible soll ja für genau diese Einsatzzwecke super sein, da schon mal reingeguckt?


    Aber ich selbst handhabe es auch so, habe meine ganzen kleinen Helferlein-Scripte in Bash, die mir gut Arbeit abnehmen...aber auf der Todo steht schon ewig, dass ich mir mal ansible näher anschauen sollte. Und ich mach das auch. Wirklich! Irgendwann... ^^

  • PHP
    1. preg_replace('/[^a-zA-Z0-9\-]/', '', $_GET["var"]);

    Könnte ich jetzt noch auf irgendeine Weiße trotzdem Schadcode in ?var einschleusen oder ist dies nicht mehr möglich?

    ja ist immer noch möglich,

    weil aus Sicht des Programmes schreibst Du den korrigierten Input wohin?


    wieso beendest Du das Skript nicht einfach mit der einfachen Logik?


    Code
    1. if ( preg_match( "/^[0-9A-Za-z\-]*$/", $_GET['var'] ) == 1 );
    2. else
    3. {
    4. ... // error page
    5. exit;
    6. }
    7. ... // next instruction
  • Ich habe kein Zugriff auf das Script. Ich weiß nur das die GET-Parameter auf diese Weise geprüft werden.

    das da prüft aber nix

    Code
    1. preg_replace('/[^a-zA-Z0-9\-]/', '', $_GET["var"]);

    sondern vielmehr

    Code
    1. $value = preg_replace('/[^a-zA-Z0-9\-]/', '', $_GET["var"]);

    steht dann in der Variable $value genau das um die anderen Sachen (invertierte Regexp '^') reduzierte drin,

    was aber kompletter Unfug ist;

    Beispiel:

    lt. dieser Regexp will man ausschließlich auf Buchstaben (groß und klein), Ziffern und '-' filtern;

    und demnach ist dann z.B. die Eingabe von /?var=+FA-46 gültig,

    weil ja nur das '+' weggefiltert wird, // $value = 'FA-46'

    an Stelle es komplett f. ungültig zu erklären (das macht meine Variante);

  • PHP
    1. preg_replace('/[^a-zA-Z0-9\-]/', '', $_GET["var"]);

    Könnte ich jetzt noch auf irgendeine Weiße trotzdem Schadcode in ?var einschleusen oder ist dies nicht mehr möglich?

    Ich habe kein Zugriff auf das Script. Ich weiß nur das die GET-Parameter auf diese Weise geprüft werden. Deshalb wäre es interessant zu wissen welche Möglichkeiten zum Umgehen der Eingaben zur Verfügung stehen.

    Ähm, '^' ist das Metazeichen für "Anfang der Zeile" und nicht invertieren oder?

    Nein, innerhalb einer Klasse ([]) ist es das, wenn es an erster Stelle steht.

    Da sagt es Folgendes aus: Alles, außer die angegebenen Zeichen.

    Linktip: Das kann man sich auch schnell online erklären lassen: https://regex101.com (das leere Eingabefeld "Substitution" entspricht genau dem zweiten Parameter in der Quellcodezeile; man beachte hier ggf. auch die fehlende "Escape-Sequenz" \- 🡒 -) :


    regex101_com.png

  • aber bitte "IT-Wissen" ich verbessere jeden der sagt, "Die Jugend kennt sich mit der neuen Technik besser aus" halte ich für sowas von falsch. Die können es mir bedinnen, kennen sich aber null damit aus.

    Erinnert mich an meine Jugend und Satellitenempfangsanlagen. Ach was hab ich da herumprobiert, bis ich irgendwann einen Schimmer einer Ahnung hatte. Den Tip gebe ich jedem mit: Man muss stets neugierig sein und wissbegierig bleiben, dann hat man jeden Tag Neues zu entdecken.

  • aRaphael ansible soll ja für genau diese Einsatzzwecke super sein, da schon mal reingeguckt?


    Aber ich selbst handhabe es auch so, habe meine ganzen kleinen Helferlein-Scripte in Bash, die mir gut Arbeit abnehmen...aber auf der Todo steht schon ewig, dass ich mir mal ansible näher anschauen sollte. Und ich mach das auch. Wirklich! Irgendwann... ^^

    never change a running system 😂

    ich installiere und administrieren alle meine server ausschließlich mit bash scripten. jede neue Software die ich installiere lege ich anschließend direkt als install_<name>.sh ab inkl. Konfiguration. Seien es nur 3 Zeilen für nen neues repo und nen apt command, bzw. nen kurzer edit der config via sed.


    das spart am Ende Zeit und Geduld. So kann ich dann auf neuen Servern direkt mit einem install Script alle anderen externen scripte sourcen. z.B. initial + fail2ban + telegraf + Docker + Mailcow +msmtp + nginx als reverse proxy konfiguriert. Sämtliche settings liegen in der jeweiligen config (./install <host.cfg>)


    das geht mit andible sicher genau so gut, wenn nicht sogar besser, bzw. inkl. test ob alles durch ist... aber für die Hand voll von Servern... reicht mir bash 😎

  • Nachtrag: Nicht zu vergessen ist der Einwurf von mainziman , nach dem – sofern der Aufruf von preg_replace nicht aus dem Kontext gerissen ist – der Wert des URL-Parameters "var" überhaupt nicht verändert wird (siehe dieses Beispiel, bei dem man sich den Wert von $zeichenkette ausgeben lassen kann).

    PHP
    1. preg_replace('/[^a-zA-Z0-9\-]/', '', $_GET["var"]);

    Könnte ich jetzt noch auf irgendeine Weiße trotzdem Schadcode in ?var einschleusen oder ist dies nicht mehr möglich?

    das da prüft aber nix

    Code
    1. preg_replace('/[^a-zA-Z0-9\-]/', '', $_GET["var"]);

    sondern vielmehr

    Code
    1. $value = preg_replace('/[^a-zA-Z0-9\-]/', '', $_GET["var"]);