<!ELEMENT ...>
및 이와 유사한 선언이 포함되어 있으면 XML 문서의 유효성을 검사하지 못하도록 스키마 (XSD가 바람직 함)를 사용할 수 있습니까?<!ELEMENT> 및 스키마 (DTD, XSD)의 다른 선언을 허용하지 않습니까?
XML 파서가 여전히 취약하고 결국 충돌이 발생합니까?
http://resources.infosecinstitute.com/xml-vulnerabilities/
예 : 억 laughes
<?xml version="1.0"?>
<!DOCTYPE lolz [
<!ENTITY lol "lol">
<!ENTITY lol2 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
<!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;">
<!ENTITY lol4 "&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;">
<!ENTITY lol5 "&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;">
<!ENTITY lol6 "&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;">
<!ENTITY lol7 "&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;">
<!ENTITY lol8 "&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;">
<!ENTITY lol9 "&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;">
]>
<lolz>&lol9;</lolz>
&lol9;
은 1,000,000,000 lol
엔티티를 생성하고 아마 밖으로 XML 파서 실행을 함께 결말, 등등 분석과 10 배 &lol8;
로 확대된다 기억.
나열된 취약점 중 일부는 에서 악용 될 수 있습니까? MSXML 6.0?
일부 파서에는 인라인 DTD 선언을 허용하지 않는 독점 옵션이있는 것 같습니다. 아마도 호스트 환경을 안전하게 보호 할 수있는 유일한 방법 일 것입니다. – CoDEmanX