如何利用$_SERVER["PHP_SELF"]变量植入script代码?
Posted loanhicks
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用$_SERVER["PHP_SELF"]变量植入script代码?相关的知识,希望对你有一定的参考价值。
假如我们是黑客,可以诱骗用户访问如下链接,
相当于用户会在浏览器地址栏中输入以下地址:
http://www.xxx.com/test_form.php/%22%3E%3Cscript%3Ealert(\'hacked\')%3C/script%3E
这里文件名后的字符是URL encode characters,其等效于
<form method="post" action="test_form.php/"><script>alert(\'hacked\')</script>
在这个页面中我们设置一个表单,表单的设置如下:
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
当用户提交表单后(表单也可以为空,这样直接执行了),数据交给action指定的文件也就是当前的页面文件,并执行了后面的javascript脚本代码(由browser自动执行)
<form method="post" action="test_form.php/"><script>alert(\'hacked\')</script>
后面的脚本任何JavaScript代码可以添加在<script>标签中! 黑客可以利用这点重定向页面到另外一台服务器的页面上,页面 代码文件中可以保护恶意代码,代码可以修改全局变量或者获取用户的表单数据。
例如,可用如下脚本重定向页面<script>location.href(\'http://www.xxx.com\')</script>
实际动手如下:我们编号含有以上要求的表单文件在index.php中,本地访问(已经搭好了apache服务器)
http://localhost/phptest/index.php/%22%3E%3Cscript%3Ealert(\'hacked\')%3C/script%3E
在Edge中效果:
然后显示:
在chrome中效果
以上是关于如何利用$_SERVER["PHP_SELF"]变量植入script代码?的主要内容,如果未能解决你的问题,请参考以下文章
如何避免 $_SERVER["PHP_SELF"] 被利用?
利用Python的Django框架制作网页时,网页设置的图片不显示,如何解决?部分代码如下: