OGNL

OGNL
OGNL
개발자OGNL 테크놀로지
안정된 릴리스
3.0.8 / 2013년 9월 24일 (2013-09-24)
기입처자바
운영 체제크로스 플랫폼
플랫폼Java 가상 머신
유형표현 언어(EL)
면허증.BSD 라이선스
웹 사이트http://commons.apache.org/ognl/

Object-Graph Navigation Language(OGNL; 객체그래프 탐색 언어)는 Java용 오픈소스 표현 언어(EL)입니다.Java 언어에서 지원되는 모든 표현 범위보다 단순한 표현식을 사용하여 속성을 가져오고 설정할 수 있습니다(JavaBeans에 있는 정의된 setProperty 메서드와 getProperty 메서드를 통해).또한 Java 클래스의 메서드를 실행할 수 있습니다.또, 어레이를 간단하게 조작할 수도 있습니다.

이는 표현 언어로 태그립을 사용하는 Java EE 응용 프로그램에서 사용하는 것을 목적으로 합니다.

OGNL은 OGNL Technology의 [1]Luke Blanshard와 Drew Davidson이 만들었다.OGNL 개발은 OpenSymphony에 의해 지속되어 [2]2011년에 종료되었습니다.OGNL은 Apache Commons의 일부로 개발되었습니다.

OGNL 테크놀로지

OGNL은 속성 이름을 사용하여 프론트 엔드 컴포넌트와 백엔드 객체 간의 연관성을 매핑하는 방법으로 시작되었습니다.이러한 어소시에이션이 더 많은 기능을 수집함에 따라 Drew Davidson은 KVCL(Key-Value Coding Language)을 만들었습니다.Luke Blanshard는 ANTLR을 사용하여 KVCL을 재실장하고 OGNL이라는 이름을 사용하기 시작했습니다.이 기술은 Java 컴파일러(JavaCC)를 사용하여 다시 구현되었습니다.

OGNL은 Java 리플렉션 및 인스펙션을 사용하여 런타임 응용 프로그램의 객체 그래프를 처리합니다.이를 통해 프로그램은 컴파일 시간 설정에 의존하는 대신 객체 그래프 상태에 따라 동작을 변경할 수 있습니다.또한 개체 그래프를 변경할 수도 있습니다.

OGNL을 사용한 프로젝트

OGNL 보안 문제

OGNL은 실행 가능한 코드를 만들거나 변경할 수 있기 때문에 [citation needed]OGNL을 사용하는 모든 프레임워크에 중대한 보안 결함을 가져올 수 있습니다.여러 Apache Struts 2 버전이 OGNL 보안 [3]결함에 취약합니다.2017년 10월 현재 Struts 2의 권장 버전은 2.5.[4]13입니다.Struts 2 버전 2.3.5~2.3.31 및 2.5~2.5.10 등 오래된 리비전에서는 보안 취약성이 문서화되어 리모트 공격자가 임의의 [5]코드를 실행할 수 있기 때문에 사용자는 최신 버전으로 업그레이드해야 합니다.Atlassian Conversence는 OGNL 보안 문제에 반복적으로[6][7] 영향을 받아 임의의 리모트코드를 실행할 수 있게 되어 모든 사용자가 업데이트해야 합니다.

「 」를 참조해 주세요.

외부 링크

레퍼런스

  1. ^ "ognl.org", OGNL Technology, Inc, archived from the original on 25 October 2008, retrieved 5 November 2013
  2. ^ "OpenSymphony, RIP (2000 - 2011)". Open Symphony. Archived from the original on 5 September 2013. Retrieved 1 June 2011.
  3. ^ "Apache Struts : List of security vulnerabilities". cvedetails.com. Retrieved October 2, 2017.
  4. ^ "Apache Struts Releases". struts.apache.org. Retrieved October 2, 2017.
  5. ^ Goodin, Dan (March 9, 2017). "Critical vulnerability under "massive" attack imperils high-impact sites [Updated]". Ars Technica. Retrieved October 2, 2017.
  6. ^ "[CONFSERVER-67940] Confluence Server Webwork OGNL injection - CVE-2021-26084 - Create and track feature requests for Atlassian products". jira.atlassian.com. Retrieved 2021-10-18.
  7. ^ "[CONFSERVER-79000] Unauthenticated remote code execution vulnerability via OGNL template injection (CVE-2022-26134)". jira.atlassian.com. Retrieved 2022-06-03.