Продукт обрабатывает XML-документ, который может содержать XML-сущности с URL-адресами, которые разрешаются в документы за пределами предполагаемой сферы контроля, в результате чего продукт встраивает неправильные документы в свои выходные данные.
По умолчанию распознаватель XML-сущностей будетпопытаться разрешить и получить внешние ссылки.Если контролируемый злоумышленником XML может быть передан одной из этих функций, то злоумышленник может получить доступ к информации о внутренней сети, локальной файловой системе или другим конфиденциальным данным.Это называется атакой на внешнюю сущность XML (XXE).
Ничего
package com.integratingstuff.jaxb;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import com.integratingstuff.pojo.Item;
public class DoUnmarshall {
public static void main(String[] args) {
try
{
JAXBContext jaxbContext= JAXBContext.newInstance(Item.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
String xml = "<?xml version="1.0" encoding="UTF-8"?><item
price="" description="Test description" catalog-number="10"/>";
InputStream inputStream = new
ByteArrayInputStream(xml.getBytes());
Item item = (Item) unmarshaller.unmarshal(inputStream);
} catch (JAXBException e) {
e.printStackTrace();
}
}
}