2012-03-29 2 views
3

나는 앱이 있고 사용자 이름 필드는 integer.parseint을 사용하여 주어진 값을 정수 값으로 변환합니다. 응용 프로그램은 JSP와 Oracle 데이터베이스를 사용합니다.정수 필드에서 SQL 삽입

URL은 SQLMap으로 테스트되었으며 동적은 아닙니다. 그래서 시도 할 수있는 유일한 방법은 로그인 양식을 사용하는 것입니다.하지만이를 우회 할 수는 없습니다.

' 또는 1=1 -를 넣으면 서버 반환 오류는 error for input string입니다.

필드를 삽입하고 싶습니다. 어떻게 할 수 있습니까?

어쨌든 정수로 변환하기 때문에 대체 인코딩을 사용할 수 있는지 알 수 없습니다.

답변

4

할 수 없습니다.

값이 정수로 분석되면 더 이상 유해한 코드가 포함될 수 없습니다.

+0

thnks은 .. 내가 PWD field..i의 동어 반복을 제공하기 위해 노력 는 로그인을 우회하지만, ID가 어디에서 오는지 모르겠어 여기 sqlia를 사용하는 .. 다른 방법은 내용이없는? – Bizarre

+0

예, 할 수 없습니다. – Bizarre

+0

그러나 그렇다고해서 입력하는 정수 값이 의미가있는 것은 아닙니다. 직접 개체 참조를 사용하여 해당 쿼리의 모든 값을 열거 할 수도 있습니다. SQL 인젝션에 취약하지 않다는 것이 다른 것에 취약하지 않다는 것을 의미하지는 않습니다. (또한,'parseDouble'이라면 Sun JVM의 JVM 경합 조건이 있습니다). – Colselaw

관련 문제