Cross-Site-Scripting "Reflected" Beispiele: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (14 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
=Cross-Site-Scripting "Reflected"= | =Cross-Site-Scripting "Reflected"= | ||
| + | =Um was geht es?= | ||
| + | *[[Reflektiertes Cross-Site-Scripting/XSS]] | ||
| + | |||
==Link== | ==Link== | ||
| − | *http://opfer/xss-reflected.php | + | *http://opfer.secure.local/scripts/xss-reflected.php |
| + | |||
==Eingabe Skript== | ==Eingabe Skript== | ||
| − | [[Datei:Cross-Site-Scripting-Reflected- | + | [[Datei:Cross-Site-Scripting-Reflected-11.png]] |
==Normale Verhaltensweise== | ==Normale Verhaltensweise== | ||
| − | [[Datei:Cross-Site-Scripting-Reflected- | + | [[Datei:Cross-Site-Scripting-Reflected-12.png]] |
==Einfügen und generieren des Schadcodes== | ==Einfügen und generieren des Schadcodes== | ||
| − | <script>alert(" | + | <script>alert("Hacked by Xinux")</script> |
| − | [[Datei:Cross-Site-Scripting-Reflected- | + | [[Datei:Cross-Site-Scripting-Reflected-13.png]] |
| + | |||
==Dieses Popup Fenster geht nun auf== | ==Dieses Popup Fenster geht nun auf== | ||
*Es wird auf jedem Rechner aufgehen der den generierten Link aufruft | *Es wird auf jedem Rechner aufgehen der den generierten Link aufruft | ||
| − | [[Datei:Cross-Site-Scripting-Reflected- | + | [[Datei:Cross-Site-Scripting-Reflected-14.png]] |
| − | = | + | |
| − | *http://opfer/xss-reflected.php?name=%3Cscript%3Ealert%28% | + | =Den generierten Link können wir nun an die Opfer versenden= |
| + | *http://opfer.secure.local/scripts/xss-reflected.php?name=%3Cscript%3Ealert%28%22Hacked%20by%20Xinux%22%29%3C%2Fscript%3E# | ||
=Hier nun der Code zu diesem Beispiel= | =Hier nun der Code zu diesem Beispiel= | ||
| Zeile 37: | Zeile 43: | ||
</html> | </html> | ||
| + | </syntaxhighlight> | ||
| + | =Wie können wir so etwas Vermeiden?= | ||
| + | *Wir fügen der If Klausel ein weiteres Argument mit, nämlich das die Eingabe nur ausgeführt werden soll, wenn kein "<script" enthalten ist | ||
| + | <syntaxhighlight lang=html> | ||
| + | <!DOCTYPE html> | ||
| + | <html> | ||
| + | <body> | ||
| + | <h1>Vulnerability: Reflected Cross Site Scripting (XSS)</h1> | ||
| + | <form name="XSS" action="#" method="GET"> | ||
| + | <p> | ||
| + | What's your name? | ||
| + | <input type="text" name="name"> | ||
| + | <input type="submit" value="Submit"> | ||
| + | </p> | ||
| + | </form> | ||
| + | <?php | ||
| + | if( $_GET[ 'name' ] != NULL && stripos($_GET['name'], "<script") !== 0 ) { | ||
| + | echo 'Hello ' . $_GET[ 'name' ] ; | ||
| + | } | ||
| + | ?> | ||
| + | </body> | ||
| + | </html> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Aktuelle Version vom 7. März 2023, 11:18 Uhr
Cross-Site-Scripting "Reflected"
Um was geht es?
Link
Eingabe Skript
Normale Verhaltensweise
Einfügen und generieren des Schadcodes
<script>alert("Hacked by Xinux")</script>
Dieses Popup Fenster geht nun auf
- Es wird auf jedem Rechner aufgehen der den generierten Link aufruft
Den generierten Link können wir nun an die Opfer versenden
Hier nun der Code zu diesem Beispiel
- Bei diesem Eingabeformular wird der eingegebene Text unterhalb des Eingabefeldes wieder ausgegeben.
<!DOCTYPE html>
<html>
<body>
<h1>Vulnerability: Reflected Cross Site Scripting (XSS)</h1>
<form name="XSS" action="#" method="GET">
<p>
What's your name?
<input type="text" name="name">
<input type="submit" value="Submit">
</p>
</form>
<?php
if( $_GET[ 'name' ] != NULL ) {
echo 'Hello ' . $_GET[ 'name' ] ;
}
?>
</body>
</html>
Wie können wir so etwas Vermeiden?
- Wir fügen der If Klausel ein weiteres Argument mit, nämlich das die Eingabe nur ausgeführt werden soll, wenn kein "<script" enthalten ist
<!DOCTYPE html>
<html>
<body>
<h1>Vulnerability: Reflected Cross Site Scripting (XSS)</h1>
<form name="XSS" action="#" method="GET">
<p>
What's your name?
<input type="text" name="name">
<input type="submit" value="Submit">
</p>
</form>
<?php
if( $_GET[ 'name' ] != NULL && stripos($_GET['name'], "<script") !== 0 ) {
echo 'Hello ' . $_GET[ 'name' ] ;
}
?>
</body>
</html>



