php 中的 $_SERVER 变量如何“防篡改”?

2023-12-21

通过信任 $_SERVER 变量数组的内容来使用 $_SERVER['PHP_SELF'] 获取 php 文件的名称,我会冒很大的安全风险吗?


许多但不是全部 $_SERVER 变量都是攻击者控制的 https://stackoverflow.com/questions/6474783/which-server-variables-are-safe。例如$_SERVER['SCRIPT_NAME']是安全的,因为$_SEVER['PHP_SELF']是一个很危险的变量,通常是 xss 的来源:

<?php
echo $_SEVER['PHP_SELF'];
?>

PoC:

http://localhost/self.php/<script>alert(/xss/)</script>

通过查看很容易看出此漏洞的作用phpinfo https://cgi.ccs.neu.edu/home/cgiadmin/examples/phpinfo.php/%3Cscript%3Ealert(/xss/)%3C/script%3E.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php 中的 $_SERVER 变量如何“防篡改”? 的相关文章

随机推荐