23
可利用的PHP函数
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我正在尝试建立可用于任意代码执行的功能列表。目的不是列出应列入黑名单或以其他方式不允许的功能。而是,当在受感染的服务器中搜索后门时,我希望有一个grep-able 红旗关键字列表。 这个想法是,如果您要构建多功能的恶意PHP脚本(例如c99或r57之类的“ Web Shell”脚本),则必须使用一个或多个相对较小的功能集文件中的某个位置,以便允许用户执行任意代码。搜索这些功能可以帮助您更快地将成千上万的PHP文件的范围缩小到需要仔细检查的相对较小的脚本集。 显然,例如,以下任何一项将被视为恶意(或可怕的编码): <? eval($_GET['cmd']); ?> <? system($_GET['cmd']); ?> <? preg_replace('/.*/e',$_POST['code']); ?> 等等。 前几天,我在一个受感染的网站上进行搜索时,没有注意到一段恶意代码,因为我没有意识到preg_replace使用该/e标志可能会造成危险(这很严重?为什么甚至在那里也是如此?)。还有其他我想念的吗? 到目前为止,这是我的清单: Shell执行 system exec popen backtick operator pcntl_exec PHP执行 eval preg_replace(带/e修饰符) create_function include[ _once] / require[ _once](有关漏洞利用程序的详细信息,请参阅mario的答案) 列出能够修改文件的功能可能也很有用,但是我想99%的利用代码中至少会包含上述功能之一。但是,如果您具有能够编辑或输出文件的所有功能的列表,请将其发布,并将在此处包括在内。(而且我不算mysql_execute,因为这是另一类漏洞利用的一部分。)