php页面上的xss攻击

php页面上的xss攻击,php,html,security,xss,Php,Html,Security,Xss,在我的安全课程中,老师给了我们一个挑战,让我们可以在虚拟网站上练习xss。 本网站由2个php页面组成。 第一个名为xss.php,下面是代码 <html> <head> <title>Equations</title> </head> <body> <center> <?php if (isset($_POST['result'])){ $result = $_POST['result']; if

在我的安全课程中,老师给了我们一个挑战,让我们可以在虚拟网站上练习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 }
?>

方程
你能解方程吗?
x^2-2*x+1
x:
第二个是error.php,它是这样的:

<html>
<head>
    <title>Error</title>
</head>
<body>
   <center>
      <h1>Error: <?php echo $_GET["error"]; ?></h1>
   <center>
</body>
</html>

错误
错误:
请求是将某人重定向到另一个网站(我称之为“”)。当我开始挑战时,我在xss.php中,我唯一能做的就是在输入表单(name=result)中编写一些东西。我能写什么??谢谢

您可以通过“error”获取一个javascript代码来重定向页面以获得所需的内容。 要执行此操作,您将访问

error.php?error=<script>window.location.href="http://youpageurl.com";</script>
error.php?error=window.location.href=”http://youpageurl.com";

然后,您必须重定向到“yourpageurl.com”网站

XSS攻击是指页面允许用户将脚本块插入呈现的HTML中的攻击。所以,首先你必须弄清楚怎么做。例如,如果来自用户的输入显示在页面上,并且不是html转义的,则用户可以执行以下操作:

用户输入:

<script>alert('testing');</script>
警报(“测试”);
然后,如果查看页面时显示警报,则该页面易受XSS攻击

因此,如果用户按如下方式输入JavaScript:

<script>window.location.href = "http://www.whatever.com";</script>
window.location.href=”http://www.whatever.com";

用户将被重定向。

我忘记了一件重要的事情。我们必须发送给老师的答案是我写的URL,用于将用户重定向到whatever.com。如果我在输入表单中写入0,我将重定向到URL为的页面!(我写的是aaa.com,而不是我们正在使用的页面)。我想我也必须改变这个网址,在地址栏里写点东西,也许吧?Stackoverflow不是一个别人做你作业的地方!在地址栏中,我写道:error.php?error=window.location.href=“mypage.com”;(添加了%20)并且没有重定向到任何内容。您可以尝试对其进行url编码。例如:错误=%3Cscript%3Ewindow.location.href%2520%3D%2520%22http%3A%2F%2Fwww.whatever.com%22%3B%3C%2Fscript%3eI在输入表单中写入的内容将保存在结果中。所以我可以把0放进去,我会被重定向到error.php。正当然后我像你说的那样更改了地址栏,但是我没有被重定向到任何其他页面对不起,因为某种原因,我键入的代码不正确。我正在更改代码。准备好了,stackoverflow页面正在阻止“script”HTML标记。。。当你键入我所说的内容时,请键入“script”而不留空格…它不起作用。。。当我写它(没有空格)时,我仍然在error.php页面中,屏幕上写着“error:”(在更改地址栏之前,屏幕上有“error:Type numbers!”,只是为了清楚起见)请准确地显示您键入的内容。