본문 바로가기

봄보라

XSS 공격 방지를 위한 OWASP ESAPI 이용하기

웹 취약점을 이용한 공격 중 대표적인 공격으로 XSS 가 있다

 

XSS 자체를 모른다면 지난 포스팅을 참고하길 바라며, 해당 글까지 찾아왔다면 당연히 XSS 를 알고있으며 대응책을 찾고있을 것이다

 

 

XSS 공격을 방지하는 방법은 여러가지가 있겠지만 오늘은 OWASP 에서 제공하는 ESAPI 를 사용하는 방법을 소개한다

 

 

OWASP
  오픈소스 웹 애플리케이션 보안 프로젝트
  웹 취약점 관련하여 TOP 10 을 발표하며 그에 따른 대응법도 소개한다
  웹 취약점 검사툴의 검사 항목 중 거의 필수적으로 OWASP 에서 발표하는 TOP 10 에 대한 취약점 검사를 포함한다

OWASP ESAPI
  OWASP Enterprise Security API

 

아래 설명은 자바 기반의 웹에서 적용하기 위해서는 우선 OWASP ESAPI 라이프러리를 포함시켜한다

 

이 글을 작성하는 2021.10.10 기준 최신 버전은 2.2.3.1 이다

Maven
<dependency>
    <groupId>org.owasp.esapi</groupId>
    <artifactId>esapi</artifactId>
    <version>2.2.3.1</version>
</dependency>

Gradle
implementation group: 'org.owasp.esapi', name: 'esapi', version: '2.2.3.1'

 

OWASP ESAPI 자체가 오픈소스이므로 소스는 깃허브에 공개되어 있다

URL : https://github.com/ESAPI/esapi-java-legacy

 

GitHub - ESAPI/esapi-java-legacy: ESAPI (The OWASP Enterprise Security API) is a free, open source, web application security con

ESAPI (The OWASP Enterprise Security API) is a free, open source, web application security control library that makes it easier for programmers to write lower-risk applications. - GitHub - ESAPI/es...

github.com

 

 

OWASP ESAPI 자체에 여러 기능이 있지만 그 중 XSS 취약점 방지를 위해서는 필터를 설정 후 수신된 모든 파라메터에 대하여 ESAPI.encoder() 를 통해 인코딩을 수행하면 된다

 

 

 

 

 

'봄보라' 카테고리의 다른 글

MariaDB Sequence 사용하기  (0) 2021.10.24
Kanban(칸반) 시작을 위한 가이드  (0) 2021.10.17
칸반의 긴급 카드 프로세스  (0) 2021.10.03
웹 취약점 XXE 공격 개요 (XML 외부 엔티티)  (0) 2021.09.26
CSRF 공격이란?  (0) 2021.09.19