Тестовый негативный сценарий ESAPI.validator(). IsValidFileContent()

Мне нужно протестировать негативный сценарий API owasps ESAPI.validator(). IsValidFileContent()

Я попытался передать байты файлов.exe и.ini, где, как и во время теста, т. е. тип возвращаемого значения был истинным, что означало допустимое содержимое файла.

Что считается неверным файлом?

Требуется ли какая-либо конфигурация в ESAPI.properties?

1 ответ

Чтобы найти некоторые негативные сценарии тестирования, я думаю, вам нужно пройти через определения методов API и все такое. Вы можете найти ссылку http://code.google.com/p/owasp-esapi-java/source/browse/trunk/src/org/owasp/esapi/reference/DefaultValidator.java?r=364&spec=svn364 более полезной. согласно вашему ТРЕБОВАНИЮ. Расскажите мне о своем опыте и результатах... СЦЕНАРИИ ОТРИЦАТЕЛЬНЫХ ТЕСТОВ - если allow null is false, то null не будет разрешен. Если размер файла превышает заранее определенный в файле свойств или количество байтов, переданных в том же методе (передан третий параметр), это вызовет исключение. Если контекст определен неправильно или для загрузки файла используется любой другой контекст, он выдаст исключение. Во всех остальных случаях он вернет истину, т.е. действительный файл.

 IMPLEMENTATION BELOW:
 /**
         * Returns true if input is valid file content.
         */
        public boolean isValidFileContent(String context, byte[] input, int maxBytes, boolean allowNull) throws IntrusionException {
                try {
                        getValidFileContent( context, input, maxBytes, allowNull);
                        return true;
                } catch( Exception e ) {
                        return false;
                }
        }

/**
         * Returns validated file content as a byte array. Invalid input
         * will generate a descriptive ValidationException, and input that is clearly an attack
         * will generate a descriptive IntrusionException. 
         */
        public byte[] getValidFileContent(String context, byte[] input, int maxBytes, boolean allowNull) throws ValidationException, IntrusionException {
                if (isEmpty(input)) {
                        if (allowNull) return null;
                        throw new ValidationException( context + ": Input required", "Input required: context=" + context + ", input=" + input, context );
                }

                long esapiMaxBytes = ESAPI.securityConfiguration().getAllowedFileUploadSize();
                if (input.length > esapiMaxBytes ) throw new ValidationException( context + ": Invalid file content can not exceed " + esapiMaxBytes + " bytes", "Exceeded ESAPI max length", context );
                if (input.length > maxBytes ) throw new ValidationException( context + ": Invalid file content can not exceed " + maxBytes + " bytes", "Exceeded maxBytes ( " + input.length + ")", context );

                return input;
        }

 /**
         * Helper function to check if a byte array is empty
         * 
         * @param input string input value
         * @return boolean response if input is empty or not
         */
        private final boolean isEmpty(byte[] input) {
                return (input==null || input.length == 0);
        }

Теперь я думаю, что вы можете разработать некоторые из лучших негативных и позитивных тестовых сценариев в соответствии с вашим "ТРЕБОВАНИЕМ". n ДА, вам нужно определить размер загружаемого файла в файле свойств. Файл INVALID - это файл, который не проходит тестирование только по вышеуказанным параметрам, а не по любому другому определяемому пользователем параметру в соответствии с этим методом ESAPI.

Другие вопросы по тегам