본문 바로가기

보안지식

[노말틱 모의 해킹 취업반 2주차 해킹과제 (1)] 인증 우회 가능 공격 방법 정리

인증 우회 가능 공격 방법 정리를 해보겠습니다!

 

일단 제가 배운 것은 총 3가지입니다.

 

1. Cookie 변조

2. Process Jump

3. Response 변조

 

한번 실습으로 해보겠습니다. 

 

****행여나 말씀드리지만 제가 따로 공부하고 있는 사이트는 따로 말씀을 못 드립니다!

그러니 만약 이러한 공격을 하는 방법이 이런 거다라고 눈으로만 보시면 됩니다!

 

1) Cookie 변조

 

옛날에서만 먹히던 방법입니다. 서버가 따로 세션을 저장안하고 쿠키만 받는 다면 이 공격이 가능합니다!

 

말 그대로 저희가 보내는 Cookie 값을 바꾸어서 원하는 계정으로 로그인을 하는 것입니다!

 

우선 버프 스위트를 킵니다.

 

Hello My friend!

 

그리고 openbrowser을 엽니다.

 

그리고 따로 해킹할 사이트를 찾습니다.

한 번 더 말씀드리지만 눈으로만 봐주세요! 제가 쓰는 사이트는 해킹 공부용도 사이트라 괜찮습니다!

 

 

 

ID: mario PW: mariosuper

 

저는 여기에 로그인을 할 수 있습니다! ID는 mario이고 비번은 mariogreat입니다. 근데 저희가 admin계정으로 로그인을

하는 것이 이 문제입니다.

 

일단 먼저 버프 스위트에 http histroy 안에 있는 것을 삭제하겠습니다.

 

 

뭔가 많네요

 

우클릭 후 clear histroy라고 있을 겁니다! 눌러서 삭제하겠습니다.

 

깨끗!

 

그리고 다시 그 사이트에 새로고침하고 로그인을 해보겠습니다.

 

로그인!

 

이렇게 나오네요

 

 

그리고 다시 버프스위트로 가셔서 http histroy 가보겠습니다.

 

 

역사 즉 들어간 과정을 뜻합니다

 

이때 저희가 있는 index.php을 누르면

 

아래에 Request와 Response가 있습니다.

 

보시면은 뭔가 이상한 게 있습니다

 

loginUser?

제 세션 ID은 숨겼습니다. 솔직히 보여도 상관없지만 보안상 중요하니깐요 (혹시나...)

쿠키에 왜 loginUser=mario; 일까요?? 저희는 합리적 의심으로 쿠키로 클라이언트를 판단할 수 있다는 걸 합니다.

 

그럼 한 번 admin으로 바꿔보겠습니다

 

우클릭 send repeater  또는 ctrl+R 키 누릅니다

그리고 메뉴바 자세히 보시면 Repeater이 빛나고 있을 겁니다.

 

반짝!

 

 

들어가셔서 보시면 Request에 저희가 봤던 데이터가 있으실 겁니다.

 

이때 loginUser=admin으로 바꿔보겠습니다.

 

보안이 매우 취약하네요

 

그리고 send 하시면

 

 

html언어 공부해도 복잡해 보이네요

 

이걸로 보셔도 되지만 

Response에 Render 칸이 있습니다. 그걸 누르시면 사이트가 보입니다!

 

됬네요!

 

admin으로 접속해서 문제가 풀렸다고 나오네요!

옛날엔 이렇게 쉽게 해킹했다는데 옛날로 돌아가고 싶네요..

 

 

2. Process JUMP

 

이는 인증 과정을 뛰어 넘어가는 방법입니다.

물론 이러한 방법을 방지해서 꼭 인증만 되는 사람만이 이 페이지를 들어올 수 있게 해서 예방합니다.

 

일단 이러한 공격도 있다는 것을 봐보겠습니다.

 

 

 

뭔가 눌러보고 싶네요!

 

한번 클릭해보겠습니다.

 

 

어? 관리자 아닌데

 

 

확인

 

 

앗;

 

음.. 비밀번호를 모르는데 말이죠 어떡할까 봤더니

 

주소란에 보시면 뭔가 규칙이 있어 보입니다.

 

step1

 

그리고 다음은?

 

 

step2

어? 이다음은 step3 이겠네??라고 추측이 가능합니다. 한 번 입력해 봅시다

 

3/step3.php 만약 인증 안되어도 갈 수 있다면 뚫리겠죠!

 

 

됬네요!!

 

이제 고민 조금 해보고 Fire 눌러봅시다. 위치가 어디지? 눌러도 상관없겠지?? 거기에 얼마나 사람이..

재미없네요 그냥 클릭

 

 

성공

 

좋습니다 이렇게 따로 페이지에 인증 없이 들어갈 수 있게 설정하면 이런 취약점이 생길 수 있다는 점을 알 수 있었습니다.

 

 

 

3. Response 변조

 

간단하게 말하자면 Response 즉 응답을 조작하는 것입니다.

예를 들어서, 사용자가 로그인을 시도하면 서버는 해당 요청에 대한 응답으로 로그인 결과를 반환하죠?

 

근데 이 변조 공격을 통해 공격자는 서버에서 반환된 응답을 조작할 수 있습니다!

이를 통해 공격자는 로그인 성공 메시지 대신 다른 메시지를 표시하게 하거나, 로그인이 실패해도

로그인 성공메시지를 볼 수 있다고 하네요.

 

간단히 그림 그려서 설명하자면

 

 

중간에서 응답을 조작하는 것이죠.

 

이러면 클라이언트는 그 응답메시지에 자신의 정보나 데이터를 작성하고 보내면

해커가 가져가게 됩니다.

 

 

 

예를 들어 은행 로그인 페이지에서 해커가 응답 메시지를 조작하여 로그인 성공 메시지를 보여줄 수 있고,

이를 통해 사용자의 개인정보나 자산을 탈취할 수 있는 겁니다!

 

'보안지식' 카테고리의 다른 글

LFI 실습 문제  (0) 2023.06.11
LFI,RFI 정리  (1) 2023.06.09
[노말틱 취업반 2주차 정리] 로그인 인증  (0) 2023.04.07