정보보안(구버전)/ 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') 시나리오 선택

 

 

 

85-0. HTML5 스토리지 스크립트-1.txt

XSS 스크립트 인젝션 실시

 

 

 

로컬 스토리지에 저장되어 있는 'name/secret' 내용 확인

 

 

 

 

Ex2) 보안 레벨 'High' 변경

 

 

보안 레벨 및 시나리오 선택

 

 

 

85-1. HTML5 스토리지 스크립트-2.txt

XSS 스크립트 인젝션 실시

 

 

 

XSS 스크립트 인젝션 실패

 

 

 

[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)

 

웹해킹 85. A6 - bWAPP Sensitive Data Exposure - HTML5 Web Storage(Secret)   https://youtu.be/WaRlLrFZ2l4

Posted by 김정우 강사(카카오톡 : kim10322)
,


Q