bwapp 실습 (WebDAV 취약점)

2023. 2. 8. 14:53·웹/웹 해킹 문제 풀이

WebDAV란?

WebDAV는 Web-based Distributed Authoring and Versioning (웹 기반 분산형 저작 및 버전관리)의 약자로 웹을 통하여 서버의 파일들을 관리하는 확장된 HTTP프로토콜이다. 

 

구성환경

취약한 서비스인 bWAPP의 insecure webdav configuration을 이용하여 webdav의 취약점을 다룬다.

 

위 화면의 webdav를 클릭하면 /webdav 디렉토리로 이동한다. 

 

/webdav로 이동하면 index 형식으로 파일들이 있다. 

nikto를 이용하여 webdav의 취약점을 진단하자.


실행

nikto -h http://192.168.98.134/webdav/  명령어를 입력한다. 대상 호스트는 /webdav로 입력한다. 

 

서버의 서비스 버전 및 정보
디렉토리 노출
허용된 http 메서드
put 메서드 취약

출력 결과를 확인해보면 서버의 서비스 버전 및 정보 , 디렉토리 노출, 허용된 http 메서드 종류 등을 확인할 수 있다. 

put 메서드는 클라이언트가 파일을 업로드 할 수 있게 한다. put 메서드를 이용하여 간단한 웹쉘을 업로드 한다. 

 

웹 쉘 스크립트는 리눅스에서 제공하는 파일을 사용한다. 

 

locate 명령어를 이용하여 /usr/share/webshells/php/simple-backdoor.php 파일의 코드를 확인한다. 

 

request 메서드로 요청한 'cmd'의 값이 존재하면 system() 함수를 이용하여 서버쪽 명령을 한다. 

사용 방법으로는 get 방식으로 파라미터 값을 넘겨 서버 명령을 실행한다.  ex) ?cmd=cat+/etc/passwd

request 메서드는 get, post 두 방식 모두 포함한다. 

ex) 예제에서 +는 공백을 대신하여 넣은 것 같다. 

 

burpsuite를 이용하여 put 메서드로 웹 쉘을 업로드한다. 

burpsuite를 실행하여 /webdav를 요청하면  get 방식으로 데이터를 요청한다. 

해당 메서드를 put 방식으로 변경하고 파일을 업로드한다. 

 

위의 그림은 변경 후의 코드이다. http 메서드를 put변경 , 디렉토리에 .php 파일을 추가 , 패킷 body 부분에 php파일 코드를 추가한다. 

 

위 경로로 url을 입력하면 192.168.98.134(bwapp)의 계정정보를 확인할 수 있다.


대응방안

1. webdav 서비스를 내린다. 

2. webdav 인증제어를 설정한다. 

 -  /etc/apache2/httpd.conf 파일을 수정하여 인증된 사용자만 접근을 한다. 

dav 서비스가 on 되어있다. 해당 부분에 2번째 그림처럼 코드를 작성한다.  

인증 타입은 basic -> 기본 

인증 계정  , 인증 계정 파일 , 접근 가능한 유저 계정 을 설정한다.   

파일을 저장한 후  계정 저장 파일을 생성한다. 

 

htpasswd 명령어를 이용하여 해당경로에 song 계정을 만든다. -c 옵션을 이용한다. 

/webdav 경로에 진입하여 위와 같이 계정을 인증해야 접근이 가능하다.

저작자표시 (새창열림)

'웹 > 웹 해킹 문제 풀이' 카테고리의 다른 글

bwapp 실습 (Session Management - Administrative Portals)_medium  (0) 2023.02.23
bwapp 실습 (Session Management - Administrative Portals)_low  (0) 2023.02.23
webhacking.kr 7번 문제풀이  (0) 2023.02.07
webhacking.kr 5번 문제풀이  (0) 2023.02.06
webhacking.kr 4번 문제풀이  (0) 2023.02.02
'웹/웹 해킹 문제 풀이' 카테고리의 다른 글
  • bwapp 실습 (Session Management - Administrative Portals)_medium
  • bwapp 실습 (Session Management - Administrative Portals)_low
  • webhacking.kr 7번 문제풀이
  • webhacking.kr 5번 문제풀이
-송현우-
-송현우-
  • -송현우-
    모험
    -송현우-
  • 전체
    오늘
    어제
    • 분류 전체보기 (111)
      • 웹 (68)
        • 취약점 진단 (6)
        • 웹 해킹 문제 풀이 (45)
        • 모의해킹 (15)
        • CS (2)
      • 모바일 (0)
      • 인프라 (10)
        • Infra 보안점검 (10)
      • 클라우드 (0)
      • 네트워크 (1)
        • 네트워크 기초 이론 (1)
      • 자격증 (12)
        • 정보보안기사 (2)
        • 정보처리기사 (2)
        • CPPG (1)
        • 리눅스마스터2급 (1)
        • bhpt (4)
        • 컴활 (1)
        • ISMS-P (1)
      • CVE (1)
      • 개발 (16)
        • 백준 (12)
        • 게임 (3)
      • CTF (0)
      • OS (1)
        • linux (1)
      • 낙서장 (2)
        • 정리노트 (0)
        • 공부 계획 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    WarGame
    bwapp
    행렬덧셈
    oicd
    webhacking
    웹해킹
    write-up
    주요정보통신기반시설 기술적 취약점 분석 및 방법 상세가이드
    webhacking.kr
    2023년도 4회차 실기
    불충분한 인가
    문제풀이
    불충분한 인증
    정보보안기사 합격 수기
    jwt 토큰
    정보 누출
    write up
    주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세 가이드
    백준
    위치공개
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
-송현우-
bwapp 실습 (WebDAV 취약점)
상단으로

티스토리툴바