(생필) 인터넷 이야기

"와이어샤크" 사용해 보기 (주제 : HTTP 위험성을 확인해보자)

생활IT 2024. 4. 26. 07:29
반응형

 

별로 재미없는 주제이지만, 오늘도 또 "와이어샤크"로 글을 써보려합니다. ^^;

와이어샤크는 엔지니어라면 당연히 익혀둬야 하는 아주 중요한 툴이에요.

 

엔지니어가 아니시라도 보다 더 인터넷과 네트워크를 이해하시기를 원하신다면 정말 많은 도움이 됩니다. 

 

그럼, 오늘은 HTTP의 패킷을 캡쳐하고, 왜 위험할 수 있는지 한번 알아보는 시간을 갖도록 해요.

 

# 패킷 수집

항상 하시던 것처럼 "패킷 수집 시작"을 누르시고, HTTP 사이트를 접속해보세요.

 

필터에 "HTTP"라고 입력하셔서 패킷을 필터링 해주세요. 그럼 HTTP 패킷들만 보여지게 됩니다. 

 

# 패킷 분석

Info란에 보시면 "GET"이 보이는 데요. 이것을 "GET method"라고 합니다.

[ 대표적인 HTTP 메소드 ]

 

바로 웹 서버에 연결되어 내가 원하는 페이지를 요청하는 행위가 바로 "GET 메소드" 입니다. 

 

 

Host가 바로 내가 접속한 웹 사이트의 URL 주소 입니다. 

 

항상 하던 것처럼 이 패킷을 따라가기 해주세요.

 

아래 그림처럼 페이지의 모든 데이터가 보여지는 것을 확인할 수 있습니다. HTTPS 사이트는 모두 암호화 되어 글씨가 깨어진 것처럼 보였던 것 기억하시나요?

 

여기서 한가지 추가로 설명을 드리면 패킷 상세 데이터에 "Referer"라는 값이 있는데요. 이 값은 내가 이 페이지에 들어오기 '전'에 머물렀던 페이지 주소 입니다.

 

저는 네이버 지도에서 검색하고, 링크를 클릭해서 이 페이지로 이동했기에 place.naver.com이라는 주소로 보여집니다. 

 

# 사이트에 로그인 해보기

이제는 다시 "패킷 캡쳐 시작"을 누르시고, 사이트에서 로그인을 해보세요. 

 

회원가입은 하지 않으셔도 됩니다. 그냥 로그인 한 다음 그 정보가 어떻게 보여지는 게 확인해볼께요.

 

패킷이 수집되면, 필터에 http.request.method == "POST" 을 입력해주세요. 필터를 잘 사용하시면 보기가 무척 편해집니다. 이 필터는 "POST" 메소드를 가진 패킷만 보겠다는 것을 의미합니다.

 

위에서 GET 메소드가 무엇인지 잠깐 설명을 드렸는데요. "POST 메소드"는 내가 입력한 데이터를 웹 서버로 보낼 때 사용하는 메소드 입니다. 

 

ID와 비밀번호를 입력하여 웹 서버로 보내는 것이니 POST 메소드를 사용해야겠죠?

 

HTML 데이터를 열어보시면 내가 입력한 ID와 비밀번호가 그대로 노출되는 것을 확인하실 수 있습니다. 

 

하지만, HTTP 사이트라고 해서 모든 사이트가 이렇게 노출되는 것은 아니에요.

 

웹 서버에서 ID와 비밀번호 입력하는 값을 암호화 시키도록 설정하게 되면 아래와 같이 암호화 된 값이 보여지기도 합니다. 

# 결론

이처럼 HTTP 사이트는 암호화 되지 않아 위험할 수 있으므로 주의가 필요합니다. 

 

다만, 모든 HTTP 사이트에 입력하는 ID와 비밀번호가 노출되지는 않는다는 점도 기억해두세요 ^^

반응형