当前位置:新闻中心 > 技术干货

干货:PHP一句话木马原理说明

来源:天融信教育

上篇文章分享我们介绍了中国菜刀和其依赖环境的配置,这次我们来说说菜刀连接一句话木马。一句话木马种类众多,包括php、asp、aspx、java等。这里我们将以php为例来进行说明。其他语言都是类似的原理。

这是个简单的php一句话木马,先对他的原理进行说明,就是执行我们前端传过来的参数。 这里我们先使用phpstudy启动一个php环境的web站点。



这个启动后的软件主页面,我们只需要点击启动就可以。之后我们可以看到:



80端口监听成功,说明web站点已经启动。之后找到相对的www路径:



创建一个ma.php的文件,之后在里面写上我们的一句话木马 :

< ? php ?> :

这个是php脚本语言的格式,

Eval() 函数

这个是php里面的函数,用来把eval()函数里面的字符串当做命令来执行。

@eval()前面的@符号是错误抑制符号,就是说我们的eval() 函数执行失败了,我们不让它的错误显示出来,这个在渗透测试里面能达到一定的隐藏功能。

$_POST[cmd]

$_POST[]是用来接收前端传来的参数, cmd表示前端传输一个参数名为cmd的值,而后端我们可以使用$_POST[cmd] 来确定这个值。

例如,我们传输一个参数名称为cmd 、值为phpinfo()的参数,参数的传输方式是POST型。



这里表示我们从前端以POST传输方式传输一个参数名称为cmd、值为phpinfo(); 的参数。

传输到我们的一句话木马文件里面,而一句话木马文件里面的 $_POST[cmd]就等于 phpinfo(); 而那个一句话的文件就变成 从而执行而我们的cmd的值可以使其执行任意命令。从而达到我们前端传输什么后端就执行。而那个参数名称的值一般也是我们菜刀设置里面的密码。下面我们使用菜刀进行连接一下 。



双击运行就可以。



表示连接上。

这次分享,我们说明了php一句话木马的执行原理和通信原理和菜刀连接的情况。


声明:该文章仅用于学术交流


感兴趣的小伙伴

扫描下方二维码