2012-03-29 8 views
3

У меня есть приложение, а поле имени пользователя преобразует любое заданное значение в целочисленное значение, используя integer.parseint. Приложение использует JSP и базу данных Oracle.sql injection в целочисленном поле

URL-адрес был протестирован с помощью SQLMap и не является динамическим. Таким образом, единственный способ, который я могу попробовать, - это ввести форму входа в систему, но я не мог ее обойти.

Когда я положил ' или 1=1, -, ошибка возврата сервера, error for input string.

Я хочу ввести поле, так, как это можно сделать?

Я не знаю, могу ли я использовать альтернативную кодировку, потому что она все равно преобразует ее в целое.

ответ

4

Это невозможно.

Если значение анализируется как целое число, оно больше не может содержать вредоносный код.

+0

Thnks .. я пытался обеспечить тавтологию в PWD field..i обошел логин, но я не знаю, где идентификатор приходит и там отсутствует содержание .. любые другие способы использования sqlia здесь? – Bizarre

+0

Да, это невозможно. – Bizarre

+0

Однако это не означает, что значение целых чисел, которое вы вводите, имеет смысл. Вы все равно можете перечислить все значения из этого запроса с помощью Direct Object Reference. Просто потому, что он не уязвим для SQL-инъекции, не означает, что он не уязвим ни для чего другого. (Кроме того, если это 'parseDouble', в JVM Sun есть условие JVM). – Colselaw