Nepoužívat atributy servletu WebLogic pro syntaktickou analýzu XML

Toto pravidlo zjistí použití atributů setAttribute a getAttribute serveru WebLogic pro analýzu XML. Toto pravidlo zjistí kód Java. Samostatné pravidlo zjistí použití WebLogic weblogic.servlet.XMLParsingHelper, což umožňuje tato funkce.

Jsou zjištěny následující případy:
  1. Všechna vyvolání metody setAttribute, kde první argument je řetězcový literál s libovolnou z následujících hodnot:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Příklad:
    request.setAttribute("org.xml.sax.helpers.DefaultHandler", someObject)

  2. Všechna vyvolání metody setAttribute, kde první argument je odkaz na řetězcovou proměnnou nebo pole řetězce a tato proměnná nebo pole jsou inicializovány na libovolnou z následujících hodnot:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Příklad:
      String handler = "org.xml.sax.helpers.DefaultHandler";
      request.setAttribute(handler, someObject);

  3. Všechna vyvolání metody getAttribute, kde argument je řetězcový literál s libovolnou z následujících hodnot:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Příklad: Document myDocument = request.getAttribute("org.w3c.dom.Document")

  4. Všechna vyvolání metody getAttribute, kde argument je odkaz na řetězcovou proměnnou nebo pole řetězce a tato proměnná nebo pole jsou inicializovány na libovolnou z následujících hodnot:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Příklad:
      String handler = "org.w3c.dom.Document";
      Document myDoc = request.getAttribute(handler);


Rychlá oprava pro toto pravidlo je k dispozici ve zdrojovém skeneru. V závislosti na tom, jak je kód strukturován, nabízí rychlá oprava libovolnou z následujících voleb:
  1. Odstraňte volání metody.

    Příklady:
      request.setAttribute("org.xml.sax.helpers.DefaultHandler", myHandler);
      request.getAttribute("org.w3c.dom.Document");
    Je-li rychlá oprava použita na předchozí řádky, tyto řádky se odstraní.
    Poznámka: Ověřte, že objekt myHandler je inicializován jinými způsoby v případě, že je později použit v kódu.

  2. Odstraňte sekci inicializátoru proměnné.

    Příklady:
      Document myDocument = request.getAttribute("org.w3c.dom.Document");
    Je-li použita rychlá oprava, předchozí kód se změní na:
      Document myDocument;
    Poznámka: Ověřte, že objekt myDocument je inicializován jinými způsoby v případě, že je později použit v kódu.