IT 管理员告诉他们,他们对新获得的网站的安全扫描利用了以下共享代码段,该代码段用于网站的头部并打开了许多漏洞,应该改为使用 htmlentities。我遇到了这个线程,它提供了一些见解,但是在这个用例中,我不太确定漏洞是否存在或什至在可行性范围内,不是说由于服务器在 https 上而不可能吗?这是处理表单 PHP 最安全的方法吗如果它在 https 上,那不应该否定任何潜在的漏洞吗?原来的<link rel="canonical" href="https://www.ourwebsite.com<?php echo echo $_SERVER['PHP_SELF']; ?>" />新的<link rel="canonical" href="https://www.ourwebsite.com<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" />
1 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
问题:用户可以控制$_SERVER['PHP_SELF']的内容
假设您的代码在 index.php 中
因此,当您调用https://www.yourserver.com/index.php时,您的代码将按预期工作。但是当有人调用时 index.php 也会调用
http://localhost/phpinfo.php/%22/%3E%3Cscript%3Ealert('Hello');%3C/script%3E%3Cbr
/%22/%3E%3Cscript%3Ealert('Hello');%3C/script%3E%3Cbr 部分称为 PATHINFO
当你尝试它时,你会看到一些 javascript 也会被执行。
一些邪恶的用户可以使用其中的任何 javascript 生成这样的链接,并通过电子邮件将其发送给他的受害者,希望他点击它,他的 javascript 将在受害者浏览器上执行。因此,他可能可以从该用户那里窃取会话 ID 并捕获他的会话
- 1 回答
- 0 关注
- 118 浏览
添加回答
举报
0/150
提交
取消