Проверка приложения. Требуемая проблема в Java

Я запустил appScan для своего приложения. Я вижу большинство проблем Validation.Required для объектов String. Но не уверен, какую проверку ожидает appscan. мы пробовали с пустым и пустым чеком, но все равно нет смысла. Пожалуйста, сообщите мне, что appscan ожидает проверки на строковом объекте.

    String tableName = this.request.getParameter(TABLE_NAME);

session.setAttribute(tableName + "_" + parentTableName + "_editColumnMap", editableColumnsMap);

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация

2 ответа

Основной целью смягчения обнаруженного Validatoin.required является проверка на наличие вредоносного ввода. Проверьте в своем коде, может ли любая переменная быть установлена ​​в значение, которым может управлять злонамеренный пользователь. Любые входные данные, полученные из-за пределов вашей системы, должны быть проверены или очищены с использованием белого списка: https://www.owasp.org/index.php/Input_Validation_Cheat_Sheet

«Validation.Required» означает, что вы используете значение, предоставленное конечным пользователем, которое не находится под контролем вашего собственного приложения. Злоумышленный конечный пользователь может предоставить огромную информацию, которую затем сохранит ваша программа, что приведет к проблемам с памятью и производительностью.

Решение состоит в том, чтобы просто ограничить длину чем-то разумным:

      String tableName = this.request.getParameter(TABLE_NAME);

// There is no valid reason for a table name to be
// larger than 200 characters.
if (tableName.length() > 200) {
    throw new RuntimeException(
        "Request parameter '" + TABLE_NAME + "' is too long.");
}
Другие вопросы по тегам