1 분 소요


Sensitive Data Exposure

  • 클라이언트와 서버가 통신 시 SSL(암호화 프로토콜)을 사용하여 중요한 정보를 보호하지 않을 때 발생하는 취약점.
  • 사용자가 민감한 정보를 입력할 때 암호화 저장이 이루어지지 않으면 공격자가 중간에서 정보를 탈취할 수 있다.
  • 또한, 데이터 처리와 암호화 저장이 클라이언트 측에서 이루어질 경우 공격자는 클라이언트 PC를 장악하여 정보 탈취가 가능하므로 데아터 처리와 암호화는 반드시 서버 측에서 이루어지게끔 해야 한다.



Clear Text HTTP

image-20220323030435014

  • 계정 및 비밀번호와 같은 개인정보를 처리하는 페이지에서 네트워크 프로토콜 보안은 필수다.
  • SSL을 사용하지 않는 통신에서 평문 데이터가 ARP 스푸핑 공격을 통해 노출되는 것을 확인해보자.


image-20220323220050901

  • 클라이언트와 서버간의 전송하는 과정에서 클라이언트는 서버에게 요청을 보내고 서버는 그에 맞는 응답을 보내게 되는데
  • 이 때 공격자가 ARP 스푸핑 공격을 하게 되면 클라이언트에게 공격자의 맥주소 bb가 서버의 맥주소로 나타나고
  • 서버는 공격자의 맥주소 bb가 클라이언트의 맥주소인 마냥 나타나게 된다.


Kali

image-20220323030751537

image-20220323030805674

  • 스니핑 도구인 Ettercap 프로그램을 -G 옵션을 선텍하여 그래픽 모드로 실행해주자.


image-20220323032019441

  • 순번대로 눌러주고 host list로 들어간 후 scan for hosts를 눌러 호스트들을 검색해주자.


image-20220323034605017

  • Target 1 에는 클라이언트 주소(Window)
  • Taget 2 에는 서버(bWAPP) 주소를 연결해주자.


Window

image-20220323032423982

image-20220323034701456

  • arp -a 를 통해 살펴보면
  • 1번이 공격자 - Kali
  • 2번이 서버 - bWAPP
  • 이므로 Ettercap을 통해 ARP 스푸핑을 진행했을때 서버의 맥주소가 칼리의 맥주소로 바뀌는지 확인하면 된다.


Ettercap

image-20220323032636412

image-20220323032650416

image-20220323034738175

  • 다음과 같이 서버의 맥주소가 칼리의 맥주소로 동일하게 변경된것을 확인하여 성공적으로 스푸핑을 진행했다.


image-20220323034818693

image-20220323034835871

  • 또한, 로그인시 로그인 정보와 전달되는 값들이 평문으로 나타난다.



대응방안

image-20220323052903613

  • vi 편집기를 통해 insuff_transp_layer_protect_1.php 소스 코드를 열어주면
  • Medium과 High 레벨에서는 url 변수에 https로 입력하는 것을 볼 수 있다.
  • 웹 페이지에서 또한 난이도 중과 상에서 insuff_transp_layer_protect_1.php 페이지로 들어가게 되면 HTTPS로 연결된다.
  • 즉, 중요한 정보를 전송하는 경우 HTTPS 포로토콜을 사용해야 한다.
  • HTTPS 프로토콜로 중요 정보를 전송하려면 서버에 SSL 인증서를 설치하여 암호화 설정을 해야하는데
  • SSL 인증서 발급은 공인 CA를 통해 인증서를 구입해야 한다.

업데이트: