最近在我的一个运行apache和php的客户端服务器上,我注意到一大堆随机文件被放置在网站的每个文件夹中。 他们被命名为随机数字,如205492.php。
还有.htaccess文件已被放置在随机编号的文件。 我的主机告诉我它的客户端上传脚本在PHP中,但所有者/文件组被设置为httpd。 我认为这意味着它放置在这里的文件的Apache守护进程。 这些文件的创build时间都设置为完全相同的时间戳。
在随机的php文件中有很多CURL和base64_encode函数。 我没有注意到build立我的客户网站的人在整个文件夹的chmod到777。 我已经改变为755认为可能是问题。
我想知道有没有人听说过这样的事情,如果有人有任何build议。 非常感谢您的时间。
不仅是糟糕的或平均的,通常很好的PHP程序员会忘记安全目标。
尽pipe它并不是石刻,但通过引入一些规则,黑客网站可能会变得更加困难
一个简单的sendmail包装器:
#!/bin/sh umask 077 TEMP=/tmp CHROOT=${1:-unspecified} trap "rm -f msg.$$ ; exit 1" 0 1 2 3 15 rm -f msg.$$ || exit 1; cat | formail -f -I "X-subsystem-sent: \"$CHROOT\"" >$TEMP/trapmail.$$ exec <$TEMP/trapmail.$$ || exit 1 rm -f $TEMP/trapmail.$$ # safe, we hold the file descriptor exec /usr/sbin/sendmail -t -i exit 1
在网站正在使用的文件/库中有一个漏洞。 利用漏洞可以将file upload到服务器,听起来像是放在任意位置。 由于PHP运行的是与Apache相同的用户,所有上传的文件将由该用户拥有。 其次,因为文档根被修改为777,它允许任何系统用户将文件/文件夹写入该path。
像你这样更改权限级别,chmod 755将有助于解决这个问题,但是我build议您查看一下日志/代码,并消除漏洞利用或可能的漏洞利用。
我和我的一个网站有类似的情况。 我使用服务器日志和基于PHP的CMS日志来识别IP地址。
使用.htaccess文件我添加了以下行(阻止访问点空白)
#Blacklist RewriteCond %{REMOTE_ADDR} (?:123.123.123.123) [NC]
用IP代替上面的数字(或者如果它来自一个狡猾的国家,则阻止整个范围),这就是我所做的。 做了这份工作 这只是一个可能的解决scheme。 希望能帮助到你!