APACHE OFBIZ XMLRPC远防DDoS程代码执行漏洞分析-墨者安全-墨者盾
DDOS防御_CC防护_高防CDN服务器_【墨者安全】—墨者盾墨者盾—你的网站贴身保镖!
QQ:800185041
高防免费接入:400-0797-119

渠道合作:156 2527 6999

主页 > CC防护 > APACHE OFBIZ XMLRPC远防DDoS程代码执行漏洞分析

APACHE OFBIZ XMLRPC远防DDoS程代码执行漏洞分析

小墨安全管家 2020-10-08 16:31 CC防护 89 ℃
DDoS防御

public void endElement(String pURI, String pLocalName, String pQName) throws SAXException { 

    if (UtilValidate.isEmpty(statusCodeString)) 

 

 

    <name>foo</name

        xr.setFeature(""false); 

            baos.writeTo(dest); 

 

        } 

   os.writeObject(myObj); 

    <value><string>Something here</string></value> 

 

 

</struct> 

 

        xr.setFeature(""false); 

 

    }   

    //XML-RPC parsing happens here 

 

    <value><i4>1404</i4></value> 

 

            ByteArrayInputStream bais = new ByteArrayInputStream(res); 

 

                } 

  

 

    HttpSession session = request.getSession(); 

   os.close(); 

 

 

 

        xr.setFeature(""true); 

 

            case 2: 

 

 

源代码分析

 

 

 

 

 

      Debug.logError("Domain " + request.getServerName() + " not accepted to prevent host header injection ", module); 

 

 

protected XmlRpcRequest getRequest(final XmlRpcStreamRequestConfig pConfig, InputStream pStream) throws XmlRpcException { 

   ObjectInputStream ois = new ObjectInputStream(fis); 

        }   

   MyObject1 myObj = new MyObject1(); 

        //truncated 

      statusCodeString = this.defaultStatusCodeString; 

 

 

 

 

 

   //This is the object we're going to serialize. 

        request.setAttribute("targetRequestUri", request.getSession().getAttribute("_PREVIOUS_REQUEST_")); 

    try { 

        try { 

    } catch (WebAppConfigurationException e) { 

      throw new RequestHandlerException("Domain " + request.getServerName() + " not accepted to prevent host header injection "); 

 

        } 

 

 

XML-RPC请求中的元素将会在下列类中被解析:

org.apache.ofbiz.webapp.event.XmlRpcEventHandler:

 

 

        case 1: 

 

 

 

 

 

 

public static void main(String args[]) throws Exception{ 

 

 

            if (inMethodName) { 

 

  

 

 

                endValueTag(); 

    String statusCodeString = null

    xr.setContentHandler((ContentHandler)parser); 

字符串的编码示例如下:

 

        //the parsing of XML in the HTTP body starts in this function 

    } catch (IOException e) { 

public void doRequest(HttpServletRequest request, HttpServletResponse response, String chain, 

                        methodName = ""

        if (pConnection != null

 

 洞分析

            initialStream = baos; 

 

 

            Debug.logError(e, "Unable to close stream connection"); 

                super.endElement(pURI, pLocalName, pQName); 

 

org.apache.ofbiz.webapp.control.RequestHandler:

        Object result = null

XML-RPC是一具远程过程调用(RPC)协议,它使用XML对其调用举行编码,并使用HTTP作为传输机制。它是一种标准规范,并提供了现成的实现方式,允许运行在不同的操作系统和环境中。在在XML-RPC中,客户机经过向实现XML-RPC并接收HTTP响应的服务器发送HTTP请求来执行RPC。

 

                if (!"".equals(pURI) || !"value".equals(pLocalName)) { 

 

            throw new XmlRpcException("Failed to load class for result object: " + e.getMessage(), e); 

Headers = *[Header] 

 

                break; 

Request = Request-Line headers CRLF [message-body] 

 

XML-RPC

Content-Type: application/x-www-form-urlencoded 


DDoS防御

当前位置:主页 > CC防护 > APACHE OFBIZ XMLRPC远防DDoS程代码执行漏洞分析

标签列表
DDoS防御
网站分类
X
 

QQ客服

400-0797-119