Как проверить или дезинфицировать пользовательские входные данные, полученные от получения URL-адреса в узле JS - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь выполнить проверку на наличие контрольного кода для моего кода.Но я сталкиваюсь с этой ошибкой: значение этого элемента затем проходит через код без надлежащей очистки или проверки и в конечном итоге отображается пользователю в методе .then в строке 145 ........ Это может разрешить перекрестную проверку.Сценарий атаки на сайт.

Я работаю с Express JS, в котором есть метод, который принимает запрос и ответ от сервера.

Функция method1 (запрос, ответ) {

constparams = request.query ;------> эта строка дает уязвимость

}

Пожалуйста, помогите мне решить эту проблему как можно скорее. Поиск решений выполнен, но есть решения, связанные только с java или .net.Мне нужно решение для узла / экспресс JS.

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

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Необходимо проверить каждый используемый вами параметр, не обращаясь непосредственно к request.query, создав и обработав каждую переменную отдельно.

Например, вы хотите проверить, что customerId начинается с c, а contactNumber - этономер:

const customerId = request.query.customerId;
if (!customerId || /^c\d+/.test(customerId)) {
   return replyWrongParameters(response);
}
const contactNumber = parseInt(request.query.contactNumber);
if (isNaN(contactNumber)) {
  return replyWrongParameters(response);
}

Если вы хотите использовать внешнюю библиотеку, вы можете использовать https://www.npmjs.com/package/express-validation, которая заботится о проверке.

0 голосов
/ 05 июня 2018

Из OWASP Межсайтовый скриптинг (XSS) страница:

Межсайтовый скриптинг (XSS) - это тип внедрения, при котором вредоносные скрипты внедряются вв противном случае доброкачественные и надежные веб-сайты.Атаки XSS происходят, когда злоумышленник использует веб-приложение для отправки вредоносного кода, обычно в форме сценария на стороне браузера, другому конечному пользователю.Недостатки, которые позволяют этим атакам быть успешными, довольно широко распространены и происходят везде, где веб-приложение использует входные данные пользователя в выходных данных, которые оно генерирует, не проверяя и не кодируя его.

Чтобы подробно изучить, как избежать перекрестногоУязвимости сценариев сайта, настоятельно рекомендуется просмотреть XW (межсайтовый сценарий) листок предотвращения предупреждений OWASP .

Для вашей конкретной проблемы node.js вы можете использовать специальное дезинфицирующее средство, такое как отбеливатель .

Удачи.

...