Chapter 13. 민감한 데이터 노출



!warning!

본 게시글은 본인의 학습기록을 위해 작성된 알려진 학습 기법

함부로 악의적으로 이용은 엄연히 불법 임으로

절대 시도하지 말 것이며

사고 발생 시 본인은 절대로 책임지지 않습니다!

Chapter 13. 민감한 데이터 노출


HTTP 프로토콜에 의한 노출

스샷. 1

1
tcpdump ni eth1 0 tcp port 80
cs

-eth1 네트워크 인터페이스를 통해 전달되는 요청 메시지와 응답 메시지 중 tcp 80
포트와 관련된 내용 만 표시해봅니다.

스샷. 2

-BWAPP > Clear Text HTTP(Credentials)의 로그인 창에 bee/bug를 입력하면 스니핑 됨

웹 스토리지를 통한 노출 실습

스샷. 3

-BWAPP > HTML 5 Web Storage(Secret)에서 개발자 도구를 통해 웹 스토리지 접근,
XSS 취약점이 있으면 알아낼 수 있습니다.

1
<script>alert(‘secret: ‘+ localStorage.getItem(‘secret’))</script>
cs

스샷. 4

-Bwapp > XSS Reflected(GET) 메뉴를 선택하고 First name에 위 코드 입력,
localStorage.getltem()을 이용하면 로컬 스토리지에 저장되어 있는 내용을
읽을 수 있습니다.

평문으로 된 패스워드 노출 실습

– 보안이 고려된 사이트의 경우 패스워드 분실 신고를 하면, 임시로
사용할 수 있는 패스워드를 발급하여 주거나, 패스워드를 초기화할 수 있는
방법을 제공함

스샷. 5-6

– Text Fils(Accounts)에 추가하고자 하는 계정을 입력하고 다운로드 링크를 누르면
사용자 정보를 관리하는 파일의 내용을 확인할 수 있습니다.

Base64 인코딩

-Base64 인코딩이란 이진 데이터를 아스키 텍스트 문자열로 변환하는 방법, E-Mail
이나 HTTP 메시지를 전송할 때 사용하는데,
파일 전송과 같이 텍스트로 표현할 수 없는 바이너리 데이터를 전송할 때 사용합니다.

스샷. 7

-터미널에서 Base64 인코딩/디코딩을 할 수 있는데 -d 옵션을 붙이면 디코딩이고
-d 옵션 빼고 실행하면 인코딩입니다.

스샷. 7

-Bwapp > Base64 Encoding(secret) 페이지 프록시키고 새로 고침하면 버프
스위트에서 secret 쿠키 복 수 있습니다, 디코딩 진행합니다.

스샷. 8-9

– 이때 문자열 맨 뒤 %2F는 /가 URL 인코딩된 것이므로 맨 뒤를 /로
변경해주시고 디코딩

민감한 데이터 노출 대응 방안

1 .HTTP 프로토콜

HTTP 프로토콜로 전달되는 데이터는 공격자에게 쉽게 노출될
위험이 있디기 때문에, 로그인과 같은 중요한 기능은 HTTPS

프로토콜을 이용하여 데이터가 암호화되어 전송되도록 구현

해야 합니다.

(HTTP/HTTPS가 같이 사용되도록 구현된 사이트의 경우 HTTPS

에서 HTTP로 전환될 때 민감한 데이터가 전송되지 않도록 주의)

2 .웹 스토리지 보호 대책

민감한 데이터를 클라이언트로부터 전달받아야 하는 경우에는,

데이터를 쿠키를 통해 전달되도록 하고 해당 쿠키에 HTTPSONLY

플래그를 추가해야 함 → 자바스크립트로 해당 쿠키를 읽지 못함
니다.

3 .검증된 암호화 사용
민감한 데이터를 사용할 때에는 데이터를 암호화하여 저장해 둡니다.

=====================================

겨우 복습 게시글 챕터 13까지 작성했습니다

쉽지 않을 거란 거 이미 예상은 했지만 이 정도로

난이도가 생각보다 하드코어 하는군요…。

(이 복습한 책이 초급 level인 것 감안한다면 앞으로는¨ ;;o xo)

에효¨ 그래도 본인이 하고 싶은 반·드·시

정착하고 싶은 분야인 만큼 신나게 합니다 ㅋㅋㅋㅋㅋㅋ

포기는 절 때 없으니까 말이지요 끄끄끄

어쩠든 할 수 있는 데로 반·드·시 최종 챕터까지

완료하고 본격적으로 모의해킹 다음 level,

코딩 테스트 랑 알고리즘 준비할 계획입니다

장문의 글을 읽어주셔서 감사하고

좋은 하루 되시고, 하시는 일 잘되고

코로나 조심하시길 🙂