Cross-Site-Scripting "Reflected" Beispiele: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 43: | Zeile 43: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=Wie können wir soetwas Vermeiden?= | =Wie können wir soetwas 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> | <syntaxhighlight lang=html> | ||
<!DOCTYPE html> | <!DOCTYPE html> | ||
| Zeile 56: | Zeile 57: | ||
</form> | </form> | ||
<?php | <?php | ||
| − | if( $_GET[ 'name' ] != NULL && | + | if( $_GET[ 'name' ] != NULL && stripos($_GET['name'], "<script") !== 0 ) { |
| − | + | echo 'Hello ' . $_GET[ 'name' ] ; | |
| − | } | + | } |
?> | ?> | ||
</body> | </body> | ||
</html> | </html> | ||
| − | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Version vom 6. März 2023, 15:08 Uhr
Cross-Site-Scripting "Reflected"
Um was geht es?
Link
Eingabe Skript
Normale Verhaltensweise
Einfügen und generieren des Schadcodes
<script>alert("xss")</script>
Dieses Popup Fenster geht nun auf
- Es wird auf jedem Rechner aufgehen der den generierten Link aufruft
Dieser generierter 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 soetwas 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>



