by Toff
개요 |
> 추가 예정
해당 취약점은 /wordpress/mail-masta/inc/campaign/count_of_send.php 와 csvexport.php에서 발생하며 파일을 include 시키는 pl 파라미터에서 검증을 하지 않아 취약점이 발생한다.
해당 플러그인 실습은 총 세 번에 거쳐 진행하고 세 번의 포스팅으로 나눠서 실습한다. 해당 포스팅에서는 먼저 LFI 취약점을 이용해 내부 문서를 탈취해보도록 하자.
환경 구성 |
그림 1-1 환경 구성
Mail Masta 플러그인 설치 주소는 다음과 같다.
- 해당 플러그인은 취약점 패치 버전이 존재하지 않는다.실습 순서 |
먼저 그림 1-2 와 같이 Mail Masta 플러그인을 활성화 시킨다.
그림 1-2 Mail Masta 플러그인 활성화
실습 방법은 간단하다. 그림 1-3 과 같이 URL에 취약점이 발생한 파라미터 값에 얻고자 하는 파일 값을 삽입하면 된다.
그림 1-3 LFI 취약점 코드 삽입
다음으로는 워드프레스 데이터베이스 정보 값을 얻기 위해 파라미터에 wp-config.php 값을 삽입한다. 하지만 그림 1-4 와 같이 아무런 값도 출력되지 않는다. LFI 취약점은 해당 파일을 HTML 형태로 출력해주기 때문에 php 코드가 보이지 않는다. 해당 포스팅에서는 여기까지 실습을 진행하며 두번째 포스팅에서 php 코드를 출력하는 실습을 하도록 하자.
그림 1-4 wp.config.php
결과 분석 |
표 1-1 취약점 발생 코드
대응 방안 |
표 1-2 시큐어 코딩
시큐어 코딩을 적용한 후 다시 실습한 결과 그림 1-5 와 같이 미리 지정해둔 파일(페이지)만을 접근할 수 있으며 그 이외의 파일(페이지)을 참조하려고 하면 그림 1-6 과 같이 경고문이 출력된다.
그림 1-5 시큐어 코딩 > 특정 파일(페이지) 참조 성공 그림 1-6 시큐어 코딩 > 특정 파일(페이지) 참조 실패