## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-LONEHAND-ORACLE-WEBLOGIC-CVE-2017-10271-MASTER
# WebLogic Wls-wsat XMLDecoder
## Описание уязвимости
mitre:https://vulners.com/cve/CVE-2017-3506
Ранее злоумышленники использовали уязвимость компонента WLS в WebLogic для масштабных удалённых атак на корпоративные серверы. Большое количество серверов было скомпрометировано, и число атакованных компаний заметно росло, что требует самого серьёзного внимания. В частности, CVE-2017-3506 — это уязвимость удалённого выполнения кода в компоненте WLS Oracle WebLogic, которая эксплуатировалась в реальных атаках без публично раскрытых деталей. Многие компании не успели вовремя установить патч. Официальный патч для этой уязвимости был выпущен в апреле 2017 года.
Описание патча CVE-2017-3506:
root@kitploit:~
public WorkContextXmlInputAdapter(InputStream is)
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try
{
int next = 0;
next = is.read();
while (next != -1)
{
baos.write(next);
next = is.read();
}
}
catch (Exception e)
{
throw new IllegalStateException("Failed to get data from input stream", e);
}
validate(new ByteArrayInputStream(baos.toByteArray()));
this.xmlDecoder = new XMLDecoder(new ByteArrayInputStream(baos.toByteArray()));
}
private void validate(InputStream is)
{
WebLogicSAXParserFactory factory = new WebLogicSAXParserFactory();
try
{
SAXParser parser = factory.newSAXParser();
parser.parse(is, new DefaultHandler()
{
public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException
{
if (qName.equalsIgnoreCase("object")) {
throw new IllegalStateException("Invalid context type: object");
}
}
});
}
catch (ParserConfigurationException e)
{
throw new IllegalStateException("Parser Exception", e);
}
catch (SAXException e)
{
throw new IllegalStateException("Parser Exception", e);
}
catch (IOException e)
{
throw new IllegalStateException("Parser Exception", e);
}
}