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.