Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么这个xss不工作_Javascript_Php_Security_Xss - Fatal编程技术网

Javascript 为什么这个xss不工作

Javascript 为什么这个xss不工作,javascript,php,security,xss,Javascript,Php,Security,Xss,我只是想在xss上练习,我想在echo上弹出一个警报框,它应该在echo上工作。我在做基于概念和层次的练习,我错误地使用了htmlspecialchars,这很容易受到xss的攻击。然而,这不是真的工作,我不明白为什么。这是我的密码 $name=htmlspecialchars($_GET['myname']); echo "<HTML><body>"; echo '<form action="">'; echo "name: <in

我只是想在xss上练习,我想在echo上弹出一个警报框,它应该在echo上工作。我在做基于概念和层次的练习,我错误地使用了htmlspecialchars,这很容易受到xss的攻击。然而,这不是真的工作,我不明白为什么。这是我的密码

$name=htmlspecialchars($_GET['myname']);


echo "<HTML><body>";        
echo '<form action="">';
echo "name: <input type='text' name='myname' ><br>";

echo "<input type='submit' ></form>";

echo $name; // here I want the xss to execute a popup box

echo "</HTML></body>";
$name=htmlspecialchars($\u GET['myname']);
回声“;
回声';
回声“名称:
”; 回声“; echo$name;//这里我希望xss执行一个弹出框 回声“;
输入脚本如下所示

<script>alert();</script>
alert();
我也尝试过很多选择。脚本在我键入时显示,并且没有警报框

我在做基于概念和层次的练习,我错误地使用了htmlspecialchars,这很容易受到xss的攻击

但你不知道。您使用的
htmlspecialchars
与预期使用的完全相同,因此在这里可以防止XSS

我在做基于概念和层次的练习,我错误地使用了htmlspecialchars,这很容易受到xss的攻击

但你不知道。您使用的
htmlspecialchars
与预期使用的完全相同,因此在这里可以防止XSS

我错误地使用了htmlspecialchars,它易受xss攻击

对于您所拥有的其余代码,您的使用没有错误,并且对于您所拥有的代码,它不会受到XSS的攻击

仅使用一个参数使用
htmlspecialchars
将使用默认设置,使

我错误地使用了htmlspecialchars,它易受xss攻击

对于您所拥有的其余代码,您的使用没有错误,并且对于您所拥有的代码,它不会受到XSS的攻击

仅使用一个参数使用
htmlspecialchars
将使用默认设置,使



在html之前,你应该关闭body标签。还要将方法添加到form@Akin没有必要关闭HTML5中的一些标记,如果没有给出方法,则假定GET。为什么这是对
htmlspecialchars()
函数的错误使用?看看这个,如果它能帮助你询问它,你应该在html之前关闭body标记。还要将方法添加到form@Akin没有必要关闭HTML5中的一些标记,如果没有给出方法,则假定GET。为什么这是对
htmlspecialchars()
函数的错误使用?看看这个,如果它能帮上忙的话。未设置ENT_引号。正确的方法应该是htmlspecialchars($string,entu引号,'UTF-8')@zeroday
ENT\u引号在这里是不相关的(它只会影响
如何转义)。仍在转义
字符,使
标记根本无法工作。也无需指定UTF-8,因为它是所有受支持的PHP版本中的默认值。以下是一些假定有效的注入和此视频@zeroday,由于易受攻击代码的特殊性,它们可以工作。请看查看示例,看看
entu QUOTES
的作用。您应该很快理解为什么这些链接中的示例易受攻击,以及为什么您的代码不易受攻击。如果没有转义单引号,您的代码不会中断,因此它不易受攻击。指定
entu QUOTES
(或仅使用
htmlentities
)这是一种最佳做法,因为有时您编写代码时会使用易受攻击的
。事实并非如此。没有设置ENT\u引号。正确的方法应该是htmlspecialchars($string,ENT\u引号,'UTF-8');@zeroday
ENT\u引号
在这里是不相关的(它只会影响
的转义方式)。
字符仍在转义中,从而使
标记根本无法工作。也不需要指定UTF-8,因为它是所有受支持的PHP版本中的默认值。以下是一些假定有效的注入和视频@zeroday,由于易受攻击代码的细节,它们有效。看看这些例子,看看
entu QUOTES
的作用。您应该很快理解为什么这些链接中的示例易受攻击,以及为什么您的代码不易受攻击。当单引号未转义时,代码不会中断,因此不易受攻击。指定
entu QUOTES
(或仅使用
htmlentities
)是一种最佳做法,因为有时您会使用易受攻击的
'
编写代码。那么,如何解释这些工作注入和此视频@zeroday-“如何解释这些工作注入?”-我在刚才的回答中解释了这一点!它将值放入一个单引号分隔的属性中,就像我演示的那样!(我不打算去看视频,我没有时间看)。那么如何解释这些有效注射以及@zeroday的视频-“如何解释这些有效注射”-我在刚才给出的答案中解释了这一点!它将值放入一个单引号分隔的属性中,就像我演示的那样!(我不会去看视频,我没有时间看)。
$user_input = "' onmouseover='alert(1)'";
?>
<body data-userinput='<?php echo $user_input; ?>'>