先看看一个例子:
下面是php的代码:
这个时候会把用户的cookie给打出来。
看看原因。
现代的浏览器都支持对urlencode 的自动转换,当你输入”%22“的时候 会自动转义成 ”"“ ;
同样道理”%5C%27“ 会被转义成”'“,所以在用户在url提交的关键字中,会被浏览器
自动转义。
如果这些输入被输出在页面上,或者插入到数据库中的话,就会把原来的数据截断,造成错误。
甚至可以获取非法权限。
http://localhost/php-1.php?key=%dd%22;alert(document.cookie);//
下面是php的代码:
$key = $_GET['key'];
echo "<script>";
echo "var a = \"".addslashes($key)."\"";
echo "</script>";
这个时候会把用户的cookie给打出来。
看看原因。
现代的浏览器都支持对urlencode 的自动转换,当你输入”%22“的时候 会自动转义成 ”"“ ;
同样道理”%5C%27“ 会被转义成”'“,所以在用户在url提交的关键字中,会被浏览器
自动转义。
如果这些输入被输出在页面上,或者插入到数据库中的话,就会把原来的数据截断,造成错误。
甚至可以获取非法权限。