2010-05-24 16 views
2

比方说,我有一个PHP文件,test.php有两个函数:test1()和test2()。有人可以在我的库中执行php函数,但是在查看的页面上没有调用吗?

如果我有一个外部php文件,index.php,其include(test.php)代码。如果在index.php文件中引用了test1()而不是test2(),有没有什么办法可以让某人在使用index.php文件时做一些恶意的事情来执行test2()?

+2

没有(名誉是不应该这样一个简短的答案,所以我评论,而不是回答。) – 2010-05-24 23:09:42

回答

3

他们可以执行任意代码的唯一方法是通过code injection漏洞。

下面是一个过于简单的例子:

<?php 

$runthis = $_GET["runthis"]; 

$runthis(); 

那么攻击者就可以调用你的脚本http://example.com/index.php?runthis=test2,然后它会运行test2()功能。

在上面链接的维基百科文章或OWASP网站上阅读有关代码注入的更多信息。

1

当你说“使用”,你的意思是像他们的浏览器中的最终用户?不,他们不能运行任意代码。

相关问题