Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

[TUT] XSS Tutorial für Anfänger (by padrino)

- - - - -

  • Bitte melde dich an um zu Antworten
3 Antworten in diesem Thema

#1
PaulaAbdul

PaulaAbdul

    Favoured Management

  • Administration
  • Likes
    3718
  • 2157 Beiträge
  • 3712 Bedankt
  • 1337-699
  • verifiziert
  • Android [root]
  • Windows, Linux
XSS Tutorial für Anfänger


Willkommen zu meinem XSS Tutorial für Anfänger

In diesem Tutorial moechte ich euch zeigen, wie ihr solche Lücken findet/diese ausnutzt,
und auch mit etwas schwierigeren Sachen zurecht kommt
(z.b wenn bestimmte zeichen gefiltert werden)
.



Wie ensteht so eine Lücke?:

So eine Lücke ensteht, wenn man z.b in einer Sucheingabe etwas eingibt, diese schickt
den text dann weiter, und lässt ihn z.b auf der search.php als text wieder ausgeben
(UNGEFILTERT) also steht unser Text, den wir eingegeben haben ungefiltert im Quelltext:

Hier ein kleines Beispiel:

PHP-Code:

<html>
<head><title>Tut</title></head>
<body>
<?php
echo "Ihr Suchwort: ".$_GET['text'];
?>
</body>
</html>


So... Es wird also der GET-Parameter: text mit echo auf die seite geschrieben.

Im Endeffekt sieht es dann so aus, wenn ihr eine eingabe tätigt (z.b wir geben padrino ein):

Ihr Suchwort: padrino

Da unser eingegebener text (padrino) mit in den Quelltext genommen wird, können wir mit script Tags z.b
eine ausgabe tätigen... z.b ich gebe als suchwort folgendes ein:

<script>alert('XSS TuT')</script>

Dann wird im Quelltext folgendes angezeigt werden:

Ihr Suchwort: <script>alert('XSS TuT')</script>

Da, der Browser sieht dass script tags davor/dahinter stehen, merkt es, dass es ein javascript code ist, und führt ihn nun aus.



Hier noch ein Beispiel für, wenn der Text in einer Textbox wiedergegeben wird, und evt. einpaar zeichen gefiltert werden.

PHP-Code:

<html>
<head><title>Tut</title></head>
<body>
<?php
$eingabetext = $_GET['text'];
$eingabetext = str_replace("<","",$eingabetext);
$eingabetext = str_replace(">","",$eingabetext);
$eingabetext = str_replace("/","",$eingabetext);
?>
<input type="text" name="ergebniss" value="<?php echo $eingabetext; ?>">
</body>
</html>


Hier werden nun folgende 3 Zeichen gefiltert(<,>,/)
das heisst wir können hier nichts mit den standard script Tags anfangen. Aber zum Test lassen wir uns
einen normalen Text mal ausgeben, für dieses Beispiel nehme ich wieder das Wort (padrino)

In der Ausgabe(Im Quelltext) erscheint es nun so:

<input type="text" name="ergebniss" value="padrino">

Was man hier tun könnte ist, mit anführungszeichen dem Quelltext vorgaukeln, dass da wo wir die anführungzeichen eingegeben haben, die value endet z.b so

(Beispiel Text ist jetzt: " abc test)

Die Ausgabe sieht nun wie folgt aus:

<input type="text" name="ergebniss" value="" abc test">


Um unseren nutzen aus der ganzen Sache zu ziehen, können wir in der textbox einfach ein event hinzufuegen:
onmouseover z.b, und dies mit einem javascript verknüpfen.

(Beispiel Text ist jetzt: " onmouseover="alert('XSS Tutorial') )

Die Ausgabe sieht jetzt so aus:

<input type="text" name="ergebniss" value="" onmouseover="alert('XSS Tutorial')">

Und schon haben wir in die Textbox ein event hinzugefuegt, welches nun ausgeführt wird, sobald wir mit der Maus über die textbox fahren.



Was kann man damit nun erreichen?


Mit einer solchen XSS-Lücke wie oben angegeben, könnte man z.b das cookie ausgeben lassen,
und mit einem script speichern lassen(sodass man das cookie des opfers hat).

Wenn es z.b ein Gaestebuch ist, und dort eine XSS-Lücke offen ist, dann ist es meistens sinnvoll,
wenn man eine weiterleitung, einen iframe, oder einfach wieder nur den cookie ausgeben lasst.

Der Vorteil bei einer XSS-Luecke in einem Gaestebuch (Persistance XSS) ist, dass dieser code permanent
auf der Seite zu sehen ist, und jeder user der die Seite aufruft, diesen sieht.
Der Nachteil bei einer XSS-Luecke wie ganz oben im Beispiel (Normale XSS) ist, dass man diesen meist als Link an leute verschicken muss, und bei dem aufruf dieses Links der Code ausgeführt wird.

Wie kann ich mich gegen solche Angriffe schuetzen?
Um euch selbst gegen XSS-Attacken zu schuetzen solltet ihr bevor ihr eine variable ausgeben lasst diese mit htmlspecialchars() filtern lassen.


Beispiel:

<?php
$suchtext = $_GET['text'];
$suchtext = htmlspecialchars($suchtext);
echo $suchtext;
?>


Nun wird alles gefiltert, und ein XSS-Angriff sollte ausgeschlossen sein

Ich hoffe euch hat das Tutorial gefallen/geholfen, wenn ihr noch fragen habt, dann stellt
diese einfach im Thread, oder schreibt mir eine PM



Greetz Padrino

401a3d5869.jpg

 

,,Der blaue Baum" von Prohex (2020)


#2
Banned

Banned

    Favoured Tool Tester

  • Banned
  • PIPPIPPIPPIP
  • Likes
    11
  • 27 Beiträge
  • 1 Bedankt
  • Android [root], Blackberry
  • Linux
Noch dazu sollte gesagt werden das XSS meist wieder ein Produkt der Faulheit der Scriptprogrammierer ist. Unter anderem sollte man auch uniHEX und andere sonderlichen Gebilde verbieten und wen man schonmal soweit ist aufpassen Stichwort XSS in einer SQLi
&lt;script>alert("XSS Pixxelchen <3")</script> Hierzu ist es nötig den Alert in Hex zu encrypten
Denn kann die XSS auch in einer Sql Abfrage zb nach dem concat % befehl kommen.
Suchanfragen sollten auch auf Zeit limitiert werden für poisoning Attacken! irgendwelche Wortgebilde die zumüllen usw. Gibt ja für jeden Driss Bots.

Pixxel
powered by Dhhc ;)

Bearbeitet von Pixxel, 27 February 2013 - 06:13 Uhr.

Whitehat

Team AIW.BZ & DHH Crew
Wir existieren OHNE Hautfarbe, ohne Religion, ohne Vorurteile.
United as One, Divided by Zero || Activist Against Government Oppression World-Wide || Member of UCNP
Eingefügtes Bild


#3
Iraqi-Designer

Iraqi-Designer

    Leecher

  • Members
  • PIP
  • Likes
    2
  • 1 Beiträge
  • 0 Bedankt
  • iPhone
  • Windows, Linux
Vielen Dank, aber verstehe ich nicht. Könntest du mir vllt. über Teamspeak oder Skype helfen?

#4
th30n3

th30n3

    Member

  • Members
  • PIPPIPPIPPIPPIPPIPPIPPIP
  • Likes
    4
  • 223 Beiträge
  • 6 Bedankt
  • Mac OS
Stelle deine Fragen gerne an die Community, hier wird dir jeder gerne helfen :)
  • Iraqi-Designer gefällt das

Eingefügtes Bild




  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 49 user(s)


    123kimiya123, acidvirus23, Alsuna, Andi, Blaz3, Caroline, chaos666, chimera, corkscrew, dervonheute, easysurfer, eckhau, Epics, fakkerbizz, FalkE, Flex.Net, Heinokel0903, hunny5142, Irhabi, Iron, J0cker, Jeahhhh, jesse321, Julez, kingkev0, Lykaner112, Marvv1488, mewue, Miyaca, MMllnr, nibble nibble, omeralex, oreagel, PaulaAbdul, PenguinCyborg, ponycrew, RudolfAntal, Sceary, Shqipenet, slivanX, Sp00ky, SpanishEye, Stadt-Zofe, to_da_beat, Toolbase, tschilben, Unkiii, xsasuke16x, zepsus
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.