比方说,我有一个PHP文件,test.php有两个函数:test1()和test2()。有人可以在我的库中执行php函数,但是在查看的页面上没有调用吗?
如果我有一个外部php文件,index.php,其include(test.php)代码。如果在index.php文件中引用了test1()而不是test2(),有没有什么办法可以让某人在使用index.php文件时做一些恶意的事情来执行test2()?
比方说,我有一个PHP文件,test.php有两个函数:test1()和test2()。有人可以在我的库中执行php函数,但是在查看的页面上没有调用吗?
如果我有一个外部php文件,index.php,其include(test.php)代码。如果在index.php文件中引用了test1()而不是test2(),有没有什么办法可以让某人在使用index.php文件时做一些恶意的事情来执行test2()?
他们可以执行任意代码的唯一方法是通过code injection漏洞。
下面是一个过于简单的例子:
<?php
$runthis = $_GET["runthis"];
$runthis();
那么攻击者就可以调用你的脚本http://example.com/index.php?runthis=test2
,然后它会运行test2()
功能。
在上面链接的维基百科文章或OWASP网站上阅读有关代码注入的更多信息。
当你说“使用”,你的意思是像他们的浏览器中的最终用户?不,他们不能运行任意代码。
没有(名誉是不应该这样一个简短的答案,所以我评论,而不是回答。) – 2010-05-24 23:09:42