"如果类名比如被用于 call_user_func() ,则它可能包含一些危险的字符...",不太懂,请教一下,最好举例说明
"如果类名比如被用于 call_user_func() ,则它可能包含一些危险的字符,比如 ../",不太懂,请教一下,最好举例说明,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
重点在于后一句。
建议您在这样的函数中不要使用用户的输入,起码需要在 __autoload() 时验证一下输入。
因为当一个对象不存在时,会根据规则尝试自动加载,如果恶意用户传入了
shell_exec
参数传入了rm -rf /*
,当然,这是最极端的情况,一般服务端不会使用 root 运行 web 服务。也有可能恶意用户通过网站的上传点,上传了一个 WebShell 到服务器,此时恶意可通过传入一些
../
这是最常见的跳目录命令。可以加载其他目录的内容进来,并且执行。此类漏洞非常常见,在 ThinkPHP 5 中都曾被发掘。
要慎重对待使用用户输入的内容