주요정보통신기반 시설 가이드

SSI 인젝션이란?

만보만보잠만보 2024. 3. 17. 15:07

SSI 인젝션

(SSI Injection)

 

개념

HTML 문서 내 입력받은 변수 값을 서버 측에서 처리할 때 부적절한 명령문이 포함 및 실행되어 서버의 데이터가 유출되는 취약점입니다.

SSI : Server-Side Includes로 CGI 프로그램을 작성하거나 혹은 서버사이드 스크립트(PHP, ASP등)를 사용하는 언어로, 웹 서버가 사용자에게 페이지를 제공하기 전에 구문을 해석하도록 지시하는 역할을 합니다.

 

발생 원인

사용자 입력 값에 적절한 검증절차를 거치지 않아 발생하는 취약점입니다.

 

위험한 이유

웹 서버 상에 있는 파일을 include 시켜 명령문이 실행되게 함으로 불법적으로 데이터에 접근할 수 있게 합니다.

 

조치 방법

- 사용자가 입력 가능한 문자들을 화이트 리스트로 정해 놓습니다.

- 정해진 문자들을 제외한 나머지 모든 문자들을 필터링합니다.

- 필터링 해야 하는 대상은 GET 질의 문자열, POST 데이터, 쿠키, URL 그리고 일반적으로 브라우저와 웹 서버가 주고받는 모든 데이터를 포함하며, 아래 사진은 특수문자에 대한 Entity형태를 표시한 사진입니다.

주통 내 필터링 목록

- 웹 서버의 SSI 기능을 사용하지 않거나, 웹 방화벽에 특수문자를 필터링하도록 룰셋을 적용합니다.

 

추가 정보

Entity : 특수 문자를 HTML 코드로 변환하는 방식을 의미합니다.

'주요정보통신기반 시설 가이드' 카테고리의 다른 글

디렉터리 인덱싱이란?  (0) 2024.03.17
XPath 인젝션이란?  (0) 2024.03.17
SQL 인젝션이란?  (0) 2024.03.17
운영체제 명령 실행 공격이란?  (0) 2024.03.17
LDAP 인젝션이란?  (0) 2024.03.17