본문 바로가기
Web hacking/개념 정리 & 심화

[#5] webdav, heartbleed 취약점

by m_.9m 2022. 3. 4.

 

webdav 취약점

APi 기반 웹 서비스 -REST API (PUT, GET, POST, DELETE)

 

툴을 이용해 nikto -h [사이트 주소] 명령어를 실행하면 사이트에 허용된 메소드를 검색할 수 있다.

예시) 해당 값이 아래와 같을 때 앞의 태그들을 제외하곤 취약한 매소드를 발견할 수 있다.

GET, HEAD, POST, OPTIONS, TRACE, DELETE, PROPFIND, PROPPATCH, COPY, MOVE, LOCK, UNLOKE, PUT

 

예를 들어 헤더에 PUT http:/127.0.0.1/web/text.txt라고 입력하고

바디에 내용을 입력하고 전송하면 web 디렉토리에 해당 내용의 텍스트 파일을 만들 수 있다.

=> 같은 방식으로 같은 서버 측 언어를 작성해 웹쉘을 올릴 수 있다.

칼리에 기본적인 웹 쉘이 있기 때문에 참고할 수 있다.

 

또한 이것은 커스텀 에러 페이지가 존재할 때 서버 정보를 이끌어내기 위해 대입하기도 한다.

 

HeartBleed 취약점

1) OpenSSL 라이브러리는 데이터 통신 간의 네트워크 암호화 프로토콜 TLS와 SSL 기능을 구현한다.

서버와 클라이언트 간의 연결을 안정적으로 지속하기 위해 HeartBleed 과정이 필요.

2014년 해당 취약점이 발표 되었고 하트비트라는 확장 모듈에서 클라이언트 요청 메세지를 처리할 떄 데이터 길이 검증을 수행하지 않아 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취 가능하다.

리눅스 + OpenSSL 시 발생할 수 있다.

 

칼리 내에서 python heartbleed.py [ip] 입력을 해서 돌리면 실 브라우저에서 통신을 할 시 id, pw와 같은 정보가 노출되는 것을 확인할 수 있다. 외부에 중요 정보가 평문 노출되는 것. 이 공격은 OpenSSL 라이브러리의 버퍼 오버플로 취약점을 악용합니다.