Как обойти sql ошибка впрыска в Javascript - PullRequest
0 голосов
/ 13 апреля 2020

Я получаю sql ошибку внедрения при попытке запустить приведенный ниже код в javascript. Я пытаюсь найти способ обновить это с помощью параметра или некоторых заполнителей, чтобы обойти ошибку впрыска, но я не уверен. Проблема заключается в том, что из-за того, что для создания защищенного веб-сайта переменная, конкатенированная ниже как «i», может быть заменена параметром, чтобы сайт не был уязвим при выборе записей из базы данных. Я видел исправления в php для этой инъекции, точно так же, как и в приведенной ниже статье, в которой пытались понять, как обойти эту проблему в Javascript. В нижнем «я» может быть «имя». То есть, выберите имя как overday_disolay из страны, которое принимает имя, которое пользователь вводит в форму, и заменяет заполнитель «i» на «имя», данное пользователем. Статья ниже объясняет больше, но это не исправление в javascript (я не могу использовать ту же функцию, что и в артиллерии, поэтому мне нужно обойтись в Javascript). Ошибка впрыска выдается приложением.

https://www.acunetix.com/websitesecurity/sql-injection/

 function getUnionDataSql()
{
    var sql = "";

    sql += " SELECT DISTINCT "+ i+ " AS overday_display FROM country UNION"

}

Ответы [ 2 ]

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

Мне удалось это исправить. Есть 2 варианта, которые разрешены во внутреннем приложении. Одним из них является использование подстроки или использование параметра вместо вышеуказанных переменных. Другой - настроить зарезервированные слова в приложении.

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

Вы не должны напрямую передавать переменные в ваши операторы SQL. Это позволит пользователю вставлять вредоносный код в ваш оператор SQL.

Поэтому вам следует использовать функции выхода вашего пакета SQL, чтобы избежать этого.

...