【问题标题】:How to log system function (such as mkdir) calls by php如何通过php记录系统函数(如mkdir)调用
【发布时间】:2015-10-15 20:29:39
【问题描述】:

我是一名 Linux 服务器管理员 (Debian),我的同事使用 php。 我喜欢记录对某些 php 函数的任何使用,例如 mkdirunlink,因此我可以跟踪任何对我们网站的渗透,例如通过 shell 代码。

【问题讨论】:

  • 你是一个不信任同事的控制狂吗?猜猜你是一个有趣的人,
  • 如果攻击者想要渗透,那么mkdir 是您最不应该担心的事情......在我看来,您似乎对 PHP 攻击媒介一无所知,但您正在努力保护自己。恐怕这不会很有效
  • 很抱歉,我无法很好地描述我的问题,其实我相信我的同事。几天前,我在我们的文件服务器中发现了一个shell代码,所以我删除了它,我保护我们的代码免受非法文件上传,...最后我决定限制一些不安全的php函数,如mkdirtouch , rename, chmod 等等。问题是有时我们必须使用一些函数,比如mkdirunlink。我的问题是如何记录 php 对这些函数的任何使用。此外,我感谢您的 cmets,我编辑了主要问题以澄清问题。

标签: php mkdir


【解决方案1】:

您可以覆盖这些函数并在调用它们之前记录您想要的任何内容。

http://php.net/manual/es/function.override-function.php#50821

<?php
// Rename function to call old function later
rename_function('mkdir', 'old_mkdir'); 

// Override function mkdir
override_function('mkdir', '$pathname, $mode, $recursive, $context', 'return override_mkdir($string);');

// New mkdir function
function override_mkdir($pathname, $mode, $recursive, $context){
    do_something();

    // Call original mkdir function
    return old_mkdir($pathname, $mode, $recursive, $context);  
}
?>

【讨论】:

    猜你喜欢
    • 2011-03-31
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 2013-10-20
    • 2011-01-21
    • 1970-01-01
    相关资源
    最近更新 更多