Ergebnis 1 bis 15 von 31

Thema: kleines PHP script zur Berechnung von CRC16 (CCITT, XMODEM, KERMIT, 1d0f, IBM)

Hybrid-Darstellung

  1. #1
    Junior
    THEMENSTARTER


    Registriert
    Aug 2016
    Beiträge
    154
    Gefällt mir!
    152
    Du gefällst: 19
    ich suche vergebens deine icq nummer

  2. #2
    #NVD Avatar von HaZe
    Registriert
    Mar 2015
    Beiträge
    179
    Gefällt mir!
    78
    Du gefällst: 162
    Nu bin ich gespannt: Wieso sollte man Shell_Exec vermeiden?
    "Kaum machstes richtig - schon funktionierts!"
    Kein Support per PN. :)
    ICQ 442-918
    IntelliTool Auto Upload Bot

  3. #3
    VIP Team Avatar von Unlimiter
    Registriert
    Mar 2015
    Beiträge
    728
    Gefällt mir!
    125
    Du gefällst: 632
    Weil shell_exec ein Sicherheitsrisiko darstellen kann (nicht zwingend muss). Deswegen sollte man es auch nur dann anwenden, wenn es gar nicht anders möglich ist und man weiß was man macht.

    Ein Fall wo es z.b. wäre: man hat in einer Variable, die bei Shell_exec verwendet wird, einen Userinput dabei, der nicht ausreichend geprüft wird.

    Im Prinzip dasselbe wie bei ner plain-sql query mit Userinput. In beiden Fällen hängts davon ab, was der Coder davor für Überprüfungen gemacht hat (für zulässige Inputs) oder überhaupt nur fixe Inputs zulässt (im Code festgelegt).

    // Ist sehr wahrscheinlich etwas, dass du direkt schon voraussetzt, aber der ein oder andere gar nicht beachtet.

  4. #4
    Avatar von syrius
    Registriert
    Mar 2015
    Beiträge
    2,125
    Gefällt mir!
    1,236
    Du gefällst: 2,823
    In shell_exec sehe ich keinerlei Risiko. Ob nun der Server minderwertig gesichert ist, oder das Script ... der Webservice läuft unter restricted User. Wenn also wer den Server anhand einer Injection hackt, dann kommt das dem Ausnutzen von shell_exec gleich.
    SzeneBox.org bei Telegram https://t.me/szenebox

  5. Diesen Mitgliedern gefällt dieser Beitrag:


  6. #5
    VIP Team Avatar von Unlimiter
    Registriert
    Mar 2015
    Beiträge
    728
    Gefällt mir!
    125
    Du gefällst: 632
    Ne, ist absolut kein Risiko in einem PHP Script

    Schon mal diese 2 Zeilen ausprobiert?

    Code:
    $var = ""; // beliebige variable
    var_dump(exec($var));
    oder
    Code:
    $var = ""; // beliebige variable mit parameter
    var_dump(exec(ls . $var));
    Sowas nennt man dann "Risiko", weil eventuell möchte man nicht, dass der User sich den gesamten File-Tree ansieht (einfachstes Beispiel). Darum rät man auch gerne davon ab es zu verwenden, oder es nur dann einzusetzen, wenn man weiß was man macht (Inputvalidierung).

    // Wir stellen uns einfach vor das $var wäre mit einem $_GET oder $_POST Parameter befüllt.

  7. #6
    Avatar von syrius
    Registriert
    Mar 2015
    Beiträge
    2,125
    Gefällt mir!
    1,236
    Du gefällst: 2,823
    Damit ein Besucher PHP-Quellcode ändern kann, müsste er den Server / Script gehackt haben. Und dann ist eh alles verloren. Ob schwach geschützter Server oder Script - läuft beides aufs gleiche raus.
    SzeneBox.org bei Telegram https://t.me/szenebox

  8. #7
    VIP Team Avatar von Unlimiter
    Registriert
    Mar 2015
    Beiträge
    728
    Gefällt mir!
    125
    Du gefällst: 632
    Wenn man einen Command-Befehl hat, der eine Variable beinhaltet die frei vom User gewählt wurde, ermöglicht man ihm (ohne weitere Absicherung, wie Validierung) die Fähigkeit den Befehl beliebig zu erweitern.

    Dazu muss man nichts hacken.

  9. #8
    Avatar von syrius
    Registriert
    Mar 2015
    Beiträge
    2,125
    Gefällt mir!
    1,236
    Du gefällst: 2,823
    Was auf unzureichende Entwicklung zurückzuführen ist.
    SzeneBox.org bei Telegram https://t.me/szenebox

  10. #9
    VIP Team Avatar von Unlimiter
    Registriert
    Mar 2015
    Beiträge
    728
    Gefällt mir!
    125
    Du gefällst: 632
    Was genau einer der Punkte ist weswegen man Leuten davon abrät diesen Befehl zu nutzen, um so keine mögliche Angriffsfläche zu bieten.

    Man kann das "Risiko" bei der Verwendung nicht einfach relativieren oder gar streichen.

  11. Diesen Mitgliedern gefällt dieser Beitrag:


  12. #10
    #NVD Avatar von HaZe
    Registriert
    Mar 2015
    Beiträge
    179
    Gefällt mir!
    78
    Du gefällst: 162
    Wer Werte aus $_GET oder $_POST ungefiltert verwendet hat eh die Kontrolle über sein Leben verloren.

    - - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -

    Um noch etwas Konstruktives hinzuzufügen:
    SQL darf auch nicht mit ungefiltertem Userinput gefüttert werden. Trotzdem rät man nicht generell von SQL ab.
    PHP: escapeshellarg - Manual
    PHP: escapeshellcmd - Manual
    Geändert von HaZe (20.10.2016 um 23:53 Uhr)
    "Kaum machstes richtig - schon funktionierts!"
    Kein Support per PN. :)
    ICQ 442-918
    IntelliTool Auto Upload Bot

  13. #11
    VIP Team Avatar von Unlimiter
    Registriert
    Mar 2015
    Beiträge
    728
    Gefällt mir!
    125
    Du gefällst: 632
    Man kann shell_exec ohne Probleme anwenden wenn man sich bewusst ist welche Risiken es birgt
    Ja, aber warum denn Syr? Es ist doch ohne Probleme nutzbar. Jetzt auf einmal muss man sich doch des Risikos bewusst sein? Das war genau der Teil, der bei deinem ersten Kommentar gefehlt hat . Das Informieren über Risiken ist etwas, dass viele Frischlinge und selbst ein Teil der erfahrenen Leute unterlassen.

    Die Frage war, weswegen man es nicht nutzen sollte und die Antwort war auch, wenn man nicht genügend Hirn hat, sollte man es lassen.

    Würde ich es persönlich unter Voraussetzung der Asicherung verwenden? Ja, denn die Laufzeit ist wesentlich geringer. Würde ich es jedoch auf biegen und brechen verwenden? Nein.

    @HaZe:
    Danke für deine Ergänzung, anscheinend hat es sich zu allgemein gelesen. Erst bei Syr kritisieren, dass er früher etwas nicht im Text erwähnt hat und dann selbst das gleiche machen . Ich füge jetzt an der Stelle noch was dazu (editierter Text, weil erst unlogischer Zusammenhang):

    Häufig wird dazu geraten, für jede Kleinigkeit eine Alternative und nicht den direkten Weg zu nehmen. An der Stelle hätten wir "verwende immer Prepared Statements", verwende immer Wrapper, nutze möglichst nie exec (usw.). Für Frischlinge und Leute die sich nicht viel mit dem Thema auseinander setzen ist sowas oft besser (können auch Probleme entstehen). Bei Experten die ein Schweizer-Taschenmesser entdecken kann es passieren, dass sie gar nicht mehr auf Alternativen achten, bei denen z.b. die Validierung schon beinhaltet ist.

    An der Stelle aber jetzt genug von mir davon, ansonsten findet sich hier noch ein Text über mehrere Seiten wieder, der "sinnvolles" und "nicht sinnvolles" verwenden von Funktionen beinhaltet. Gibt ja viel darüber zu sagen.

Ähnliche Themen

  1. (Suche) - Grafiker für kleines Logo
    Von Alexej im Forum Designer (Grafik/Video/...)
    Antworten: 3
    Letzter Beitrag: 06.04.2018, 20:44
  2. (Suche) - Webentwickler für kleines CMS
    Von VTK im Forum Entwickler / IT-Techniker
    Antworten: 1
    Letzter Beitrag: 21.09.2017, 17:12
  3. Ein kleines Twitter Script für private Zwecke?
    Von Darren im Forum Mainstream Talk & OffTopic
    Antworten: 0
    Letzter Beitrag: 24.05.2016, 14:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
SzeneBox.org... im Mittelpunkt der Szene!
© since 2015 szeneBOX.org - All Rights Reserved
Domains: www.szenebox.org