我试图追踪一个Wordpress网站如何被黑客入侵,我试图跟踪的一件事是“触摸”命令击中哪些文件以伪造last_modified日期(许多黑客做的事情是隐藏自己,并在这种情况下发生)。我创建了一个名为newtouch的脚本,它只是使用时间戳记录发送给它的所有参数,然后将别名触摸为newtouch。当我进入ssh时这很好用,但是当我尝试从php调用它时,它无法识别别名。我做了一些研究,并意识到这是因为php在不同的shell下运行:
$ php -r'echo shell_exec(“echo $ 0”);' SH
主目录中没有.profile,所以我创建了一个,但无论我放入什么内容,我都无法通过某种原因让shell识别它。为了测试,我尝试了一个名为touch2的简单别名,它简单地回应了单词test,并在.profile中尝试了以下所有内容,其中没有一个有效:
alias touch2='echo test'
alias touch2 'echo test'
touch2 () {
echo test
}
无论我尝试哪种,我都会得到相同的结果:
$ sh
$ alias
$ touch2
sh: touch2: command not found
$ php -r 'echo shell_exec("alias");'
$ php -r 'echo shell_exec("touch2");'
sh: touch2: command not found
感谢任何帮助,谢谢。
答案 0 :(得分:1)
#!/path/to/bash
mv /path/to/touch /some/where/else
chmod -x /some/where/else/touch
chown root:root /some/where/else/touch
mv /path/to/new/touch /where/touch/was/before