PHP 버전 5.3.12와 5.4.2 이전 버전에는 소스코드가 노출되거나 공격자가 임의의 코드를 실행할 수 있는 취약점(CVE-2012-1823)이 존재한다. 이 취약점은 요청 URI의 쿼리스트링 부분을 잘못 처리함으로써 발생한다.
bWAPP의 PHP 버전은 phpinfo.php 페이지에 접속해보면 5.2.4임을 확인할 수 있다.
bWAPP의 /admin/ 경로에서 PHP-CGI 취약점 공격을 실습해보자.
※ CGI(Common Gateway Interface) : 스크립팅 언어(쉘 스크립트, 파이썬 스크립트, perl 스크립트 등)로 만들어진 외부 프로그램을 웹 서버에서 실행할때 사용하는 기술. 90년대~00년대 초중반에 주로 쓰인 기술.
소스코드 노출
쿼리스트링 부분에 -s를 입력하니 admin 페이지의 PHP 소스코드가 출력된다.
이 취약점을 이용하면 임의의 코드 실행도 가능하다.
메타스플로잇을 이용한 공격
칼리 리눅스 메뉴에서 메타스플로잇을 검색해서 실행한다.
search 명령어로 공격 모듈을 검색한다.
use 명령어로 모듈을 설정한다.
공격에 성공하게 되면 실행할 페이로드를 설정한다. show payloads 명령어로 페이로드 목록을 확인할 수 있다. 리버스 쉘을 생성하는 페이로드를 설정하였다.
show options 명령어로 옵션을 확인하고 set 명령어로 필요한 옵션을 설정한다.
설정을 모두 마쳤으면 run 명령어를 입력하여 익스플로잇을 실행한다. 공격에 성공하면 쉘이 생성된다.
www-data 사용자 권한을 획득했다. 실제로는 루트 권한 획득을 위해 권한 상승 공격으로 이어진다.
'bWAPP(Bee Box)' 카테고리의 다른 글
쉘쇼크 취약점 (0) | 2023.11.15 |
---|---|
하트블리드 취약점 (0) | 2023.11.15 |
XXE(XML 외부 엔티티) 공격 (0) | 2023.11.14 |
접근 통제 취약점 공격 (0) | 2023.11.13 |
민감한 데이터 노출 3 (0) | 2023.11.13 |