Я пытаюсь запустить некоторые тесты с атаками XXE на странице html, но у меня возникают проблемы с рабочим примером. После долгого осмотра inte rnet я придумал следующее:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script id="embeddedXML" type="text/xml">
<!DOCTYPE foo [
<!ELEMENT foo ANY>
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<foo>&xxe;</foo>
</script>
</head>
<body>
<script type="application/javascript">
alert(document.getElementById('embeddedXML').innerHTML);
</script>
</body>
</html>
Но это не работает. XML внутри тега скрипта, по сути, не «запускается», а это означает, что при появлении предупреждения он просто отображает xml в виде открытого текста. Он не интерпретирует заголовок DOCTYPE и не получает информацию из указанного файла.
Гуглить было очень сложно, потому что, очевидно, XML не "работает", но что-то должно произойти, когда этот текст интерпретируется, а не просто записывается. Я не знаю, что это за штука или как заставить ее работать на странице HTML, как написано здесь.
любые советы высоко ценится. Спасибо!