主页 > 网络知识 > 一文详解Webshell(2)

一文详解Webshell(2)

 

一文详解Webshell

 

 

一文详解Webshell

 

passthru()

passthru()执行一个命令并返回原始格式的输出。

 

一文详解Webshell

 

proc_open()

proc_open()函数可能很难理解。简单地说,我们可以使用proc_open(),创建一个处理程序(流程),实现脚本和要运行的程序之间的通信。

倒引号

很多PHP开发人员并没有意识到这一点,但是PHP会首先执行shell命令中倒引号(`)内的内容。请注意,倒引号(`)和单引号(’)不同。

 

一文详解Webshell

 

根据以上内容,下面是一个最简单的PHP Webshell。

 

一文详解Webshell

 

它使用 system()函数来执行通过 ‘cmd’ HTTP 请求中GET参数传递过来的命令。

 

一文详解Webshell

 

我们已经确定了这些函数(以及其他一些函数)可能非常危险。更危险的是,在安装PHP时,默认情况下会启用所有这些内置PHP命令,而大多数系统管理员不会禁用这些函数。如果不确定在系统上是否启用了这些函数,输入以下内容将返回已启用的危险函数的列表。

 

一文详解Webshell

 

在采用默认安装的情况下,下列函数是默认启用的。

 

一文详解Webshell

 

三、黑客如何隐藏Webshell

修改报头

黑客使用用户代理字符串而不是通过$_POST 请求参数来传递命令的。

 

一文详解Webshell

 

然后,黑客可以通过将命令放在User-Agent HTTP报头中来制作特定的HTTP请求。

 

一文详解Webshell

 

 

一文详解Webshell

 

在服务器日志中可以看到这一行为的效果,其中第二个请求中的HTTP User-Agent被cat /etc/passwd命令替换了。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!