有人可以在我的库中执行 php 函数但未在查看的页面上调用吗?
假设我有一个 php 文件 test.php,有 2 个函数:test1() 和 test2()。
如果我有一个外部 php 文件,index.php,其代码中包含 include(test.php) 。如果在index.php 文件中有对test1() 的引用,但没有对test2() 的引用,是否有人可以通过在使用index.php 文件时执行恶意操作来执行test2()?
Let's say I have a php file, test.php with 2 functions: test1() and test2().
If I have an external php file, index.php, with include(test.php) in its code. If in the index.php file has a reference to test1() but not test2(), is there any way that someone would be able to execute test2() by doing something malicious while using the index.php file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
他们执行任意代码的唯一方法是通过代码注入漏洞。
这是一个过于简单的示例:
攻击者可以通过
http://example.com/index.php?runthis=test2
调用您的脚本,然后运行您的test2()
功能。在我上面链接的维基百科文章或 OWASP 中了解有关代码注入的更多信息地点。
The only way they could execute arbitrary code is through a code injection vulnerability.
Here's an oversimplified example:
So an attacker could invoke your script as
http://example.com/index.php?runthis=test2
and then it would run yourtest2()
function.Read more about code injection at the wikipedia article I linked to above, or at the OWASP site.
当您说“使用”时,您的意思是像浏览器中的最终用户一样吗?不,他们不能运行任意代码。
When you say "using", do you mean like an end user in their browser? No, they can't run arbitrary code.