Как исправить CWE 117 (неправильная нейтрализация вывода для журналов) на JQuery - PullRequest
1 голос
/ 27 апреля 2020

При сканировании выдается эта ошибка об этой строке:

console.log(msg);

Мне нужна эта строка в моем коде, но я хочу перейти на более безопасный. Я добавил это в свой код:

var newMsg = msg.replace('\n', '_').replace('\r', '_');

Затем я отправил newMsg в журнал. Я видел, что этого недостаточно, я читал, что иногда следует закодировать сообщение. Когда я должен кодировать это, и как я могу сделать это в javascript / jQuery?

Спасибо

1 Ответ

0 голосов
/ 27 апреля 2020

Чтобы избавиться от CWE 117 (печать необработанных журналов в производственных условиях), вам необходимо go выполнить шаги по смягчению в спецификации MITRE , это:

ВХОДНАЯ ВАЛИДАЦИЯ код (перед печатью журнала) должен:

  • Запретить содержимое (бизнес-логика c специфицировано c)
  • Escape HTML содержимое:

    In:  `<p>Hello <script>this_is_bad_code</script> world!</p>`  
    Out: `&lt;p&gt;Hello &lt;script&gt;this_is_bad_code&lt;/script&gt; world!&lt;/p&gt;`
    
  • Содержимое полосы:

    In:  <p>Hello <script>this_is_bad_code</script> world!</p>
    Out: Hello world!
    
  • Очистите содержимое, чтобы обеспечить безопасность html (бизнес-логика c спецификация c) :

    In:  <p>Hello <script>this_is_bad_code</script> world!</p>
    Out: <p>Hello world!</p>
    

ДЕКОДИРОВАНИЕ ВЫХОДА : Это потертый файл в js, поскольку исходный файл js может иметь любую кодировку, JavaScript преобразует его в UTF-16 перед выполнением, однако вы можете:

  • Проверить, находится ли значение заголовка текущей кодировки страницы в заголовке:

    Content-Type: application/javascript; charset=utf-8
    
  • Убедитесь, что источник js имеет значение тега кодирования:

    <script src="./source.js" charset="utf-8">
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...