정보보안(구버전)/ bWAPP 2019. 2. 21. 14:01
웹 해킹 bWAPP - 85. A6 - Sensitive Data Exposure - HTML5 Web Storage(Secret)
본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 혹시라도 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.
1. Sensitive Data Exposure
- OWASP Top10 A6 - 민감한 데이터 노출
- 서버와 클라이언트 간에 평문으로 데이터 전송시 스니핑(MITM) 공격에 의해서 정보가 유출될 수 있다.
- 그렇기 때문에 SSL(HTTPs) 보안 통신 연결을 이용하여 암호화/인증을 통하여 데이터를 보호해야 한다.
- 또한, 데이터 처리와 암호화 저장이 클라이언트에서 진행되면 공격자가 클라이언트 제어권을 획득하여 정보가 유출될
수 있으니, 서버에서 진행하는 것을 권장한다.
2. HTML5 Web Storage(Secret)
- 웹 스토리지는 기존의 쿠키의 단점을 개선하기 위해서 도입한 기능이다.
- 클라이언트 웹 브라우저가 직접 데이터를 저장하기 때문에 서버에게 요청할때 마다 쿠키에 정보를 저장할 필요가 없다.
- 그렇기 때문에 클라이언트 자체적으로 더 많은 양의 정보를 안전하게 저장할 수 있게 된다. (최소 5MB 이상 가능)
- 쿠키는 보존 기간을 정해서 보관하거나, 보존 기간이 정해져 있지 않으면 브라우저 세션 종료시 사라진다.
- 그러나 웹 스토리지는 만료 기간이 없으며, 클라이언트 브라우저에서 직접 삭제해야 사라진다.
- 또한, 도메인마다 저장소가 격리되어 있으며, 같은 도메인 안에서는 같은 데이터 접근이 가능하다.
3. Sensitive Data Exposure - HTML5 Web Storage(Secret)
- 이 시나리오는 인젝션을 실시하여 웹 스토리지에 저장된 내용을 획득하는 내용이다.
Ex1) Sensitive Data Exposure - HTML5 Web Storage(Secret) 이해
보안 레벨 선택 및 시나리오 선택
HTML5 웹 스토리지에 있는 name/secret을 확인하라는 내용 확인
'Shift+F5' 실시 -> 설정 -> 저장소 체크 -> 저장소 실행 -> '쿠키' 클릭 -> 쿠키 정보 확인
'로컬 스토리지' 클릭 -> 'name/secret' 내용 확인 -> 'X' 클릭
마우스 우클릭 -> '페이지 소스' 클릭
로컬 스토리지에 저장되어 있는 'name/secret' 내용 확인
'Cross-Site Scripting - Reflected(GET') 시나리오 선택
XSS 스크립트 인젝션 실시
로컬 스토리지에 저장되어 있는 'name/secret' 내용 확인
Ex2) 보안 레벨 'High' 변경
보안 레벨 및 시나리오 선택
XSS 스크립트 인젝션 실시
XSS 스크립트 인젝션 실패
[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)
웹해킹 85. A6 - bWAPP Sensitive Data Exposure - HTML5 Web Storage(Secret) https://youtu.be/WaRlLrFZ2l4