2011-08-01 1 views
1

이것은 OGNL 평가의 보안 결함과 관련이 있습니다.
다른 사람이이를 어떻게 악용 할 수 있습니까? 나는 변수가 액션 클래스의 getter 및 setter와 xyz 이름이
http://test/xyz=test[ww-2160 struts] <s : 속성 값 = % { 'xyz'}>

및 JSP에서 내가 가진 :

것은 내가 요청 매개 변수 및 서버 반환이 클라이언트에 다시이 상상

<s:property value="%{xyz}" /> 

누군가가 http://test/[email protected]@exit(0) URL을 사용하면 어떻게됩니까?

답변

1

첫 번째로 연결된 티켓은 2007 년에 수정되었습니다. 정확하게 그 문제가 무엇인지 정확히 알지 못하지만 더 이상 관련이없는 것 같습니다.

누군가가 http://test/[email protected]@exit(0 URL을 사용하는 경우 어떻게됩니까?

JSP 페이지는 리터럴 문자열 @[email protected](0)을 출력합니다.

OGNL 표현식은 Struts2 태그 내에서 처리됩니다. 이 경우 문자열 리터럴 %{xyz}setValue(String) 메서드 PropertyTag으로 전달됩니다. 해당 태그 안에는 해당 문자열이 값 스택에 대해 계산되어 결과 값인 @[email protected](0)가 생성됩니다. 그 값이 출력됩니다.