• 1761阅读
  • 40回复

论坛被攻击?部分文件被修改加载脚本(文件检查) [复制链接] [手机版]

上一主题 下一主题
离线zhangjingyu

只看该作者 10楼 发表于: 2022-11-11 22:44:43 星期五  点亮(0)
pwFilemtime()函数比较感兴趣,搜索本地备份文件的同时,也在网上搜索。本地大致有29条搜索结果,而且有意思,有意义的是它可以直接比较,因为它返回的是时间戳(在网上看到的)。
} elseif ($langfile && pwFilemtime($langfile) > pwFilemtime($path)) {
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 11楼 发表于: 2022-11-11 22:50:11 星期五  点亮(0)
php filemtime函数怎么用
php filemtime函数用于返回文件内容上次的修改时间,其语法是filemtime(filename),参数filename必需,指规定要检查的文件。

定义和用法

filemtime() 函数返回文件内容上次的修改时间。

若成功,则时间以 Unix 时间戳的方式返回。若失败,则返回 false。

说明

本函数返回文件中的数据块上次被写入的时间,也就是说,文件的内容上次被修改的时间。

提示和注释

提示:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 12楼 发表于: 2022-11-11 22:57:54 星期五  点亮(0)
PHP文件操作函数filemtime、filectime、fileatime、touch
1、filemtime():文件内容最后一次被修改的时间:

echo date('Y-m-d H:i:m',filemtime('aa.txt'));
2、filectime():文件客观属性最后一次被修改的时间(文件管理组、所属权限等):

echo date('Y-m-d H:i:m',filectime('aa.txt'));
3、fileatime():文件最后一次被访问的时间:

echo date('Y-m-d H:i:m',fileatime('aa.txt'));
4、touch() 函数设置指定文件的访问和修改时间。如果文件不存在,则会被创建。

touch(filename,time,atime);time和atime两个参数都是可选的。

touch('aa.txt');
尝试将由 filename 给出的文件的访问和修改时间设定为指定的时间。如果没有设置可选参数 time,则使用当前系统时间。如果给出了第三个参数 atime,则指定文件的访问时间会被设为 atime 。如果成功则返回 true,失败则返回 false。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 13楼 发表于: 2022-11-11 23:17:36 星期五  点亮(0)
php文件里面的:
if (file_exists($monthFile)) $cachetime = pwFilemtime($monthFile);
这个写法,简单。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 14楼 发表于: 2022-11-12 00:29:44 星期六  点亮(0)
回复7楼 zhangjingyu 的帖子
zhangjingyu 然后,还有什么?备份一段代码,1楼提到的“文件检查”的有关代码:
} elseif ($adminitem == 'filecheck') {
    /*程序文件检查*/
    if(!$files = readover('admin/safefiles.md5')){
      .. (2022-11-10 23:10)   
可以仿照9到20行的代码,把所有需要检查的文件夹都放进去,就基本可以检查所有需要检查的论坛文件了!不是吗?
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 15楼 发表于: 2022-11-12 22:32:49 星期六  点亮(0)
后台模板文件filecheck.htm 
备份文字和数字的对应关系:1未知文件,2文件丢失,3文件被修改
<td class="td2"><!--
EOT;
if($v[3]=='1'){print <<<EOT
-->
        <font color="green"><span class=s2>未知文件</span></font>
<!--
EOT;
}elseif($v[3]=='2'){print <<<EOT
-->
        <font color="blue"><span class=gray>文件丢失</span></font>
<!--
EOT;
}else{print <<<EOT
-->
        <font color="red"><span class=s1>文件被修改</span></font>
<!--
EOT;
}print <<<EOT
-->
      </td>
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 16楼 发表于: 2022-11-12 22:52:31 星期六  点亮(0)
回复7楼 zhangjingyu 的帖子
$filemtime = get_date(pwFilemtime($file));这行应该是获取文件时间,我们能不能加个时间判断,以在后台突出显示?也就是大于某一个时间,显示为红色等,可以单独增加一列。
初步实现,增加了“状态”列,比较的是文件最后修改时间戳。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 17楼 发表于: 2022-11-12 22:57:39 星期六  点亮(0)
代码简单记录下(红色为新增):
filecheck.php
        } else{
            $filemtime = get_date(pwFilemtime($file));
            $filesize  = filesize($file);
            $xiugai = pwFilemtime($file);

            if(in_array($file,$md5_m)){
                $cklog[3]++;
                $dirlist[$dir][] = array($filename,$filesize,$filemtime,'3',$xiugai);
            } elseif(!in_array($file,$md5_c)){
                $cklog[1]++;
                $dirlist[$dir][] = array($filename,$filesize,$filemtime,'1',$xiugai);

filecheck.htm
    <tr class="tr2 vt td_bgB">
      <td>文件名</td>
      <td>状态</td>
      <td>文件大小</td>
      <td>最后修改时间</td>
      <td>文件状态</td>
    </tr>
<!--
EOT;
foreach($value as $k=>$v){print <<<EOT
-->
    <tr class="tr1 vt">
      <td class="td2">$v[0]</td>
      <td class="td2"><!--
EOT;
if($v[4]>1639929600){print <<<EOT
-->
        <span class="s1">文件被修改</span>
<!--
EOT;
}print <<<EOT
-->
</td>
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 18楼 发表于: 2022-11-12 23:04:11 星期六  点亮(0)
文字部分再斟酌吧。不早了,明天添加目录,以能基本查看全部论坛文件(图片,缓存文件等就不需要添加了)。
    safefile('./','\.php',0);
    safefile('admin/','\.php');
    safefile('api/','\.php|\.html');
    safefile('apps/','\.php|\.htm');
    safefile('hack/','\.php|\.htm');
    safefile('js/','\.js',0);
    safefile('lib/','\.php|\.html');
    safefile('mode/','\.js|\.php|\.htm');
    safefile('require/','\.php');
    safefile('simple/','\.php');
    safefile('template/','\.php|\.htm');
    safefile('m/','\.php');
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 19楼 发表于: 2022-11-16 22:31:48 星期三  点亮(0)
终于好了,不容易!
=================分隔线====================
本来以为(覆盖文件后)一切都正常了,可是不知是从几天前起,表情不显示了;“回顶部”按钮也不显示了;帖子不能编辑,点“发布”就像按了返回键似的,提示退出什么的;回帖时会提示什么xml错误;点“每日打卡”没反应……很是头疼。但本地论坛一切都没有问题,手机访问家园论坛也一切正常(很是疑惑,手机访问一直都是没有问题的,难道真的不加载js吗?之前说过),所以不确定到底是不是论坛的问题。电脑有问题吗?可惜家里就这一台笔记本,没法用其它的电脑测试(用快译典测试也没有问题,难道是安卓系统的缘故?)。用360安全卫士检查电脑,查木马,系统修复等,还是没用。

后来想到(应该是昨天晚上),是不是浏览器的问题?换搜狗和360安全浏览器也是一样。最后用ie,会提示网页上有错误,双击查看,提示文件有问题,虽然不确定其准确性,还是下载回来看了看。

没想到真有问题!文件后面再次被加了代码!

后台“文件搜索检查”里以其中的“0x6658”为关键词在整个论坛文件夹中搜索,没想到大概找到了78个文件(昨晚的事儿,记不清了,没截图),似乎还是起初被修改的那些?这怎么解释?

再次覆盖两个文件ad/fanpai/fanpai.js和system/magicplayer.js,两个文件夹highslide和js。另外一个是缓存文件,没有覆盖。论坛再次正常了,难得啊,好几天了,不容易啊,真的!
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!