[Content Security Policy(CSP)]
브라우저에서 XSS 로부터 보호하기 위해서 도입되었으며, 실행될 수 있는 콘텐츠를 지정하고 자바 스크립트를
인라인으로 실행하거나 신뢰하고 있는 도메인의 스크립트 파일을 로드할 수 있다.
[용어 설명]
1. none : 어떠한 것도 허용하지 않는다.
2. self : 현재 출처에서만 허용한다 -> 하위 도메인을 허용하지 않는다.
3. unsafe-inline nonce 값 : nonce 속성값이 헤더값과 일치하면 스크립트 또는 스타일 태그를 실행한다.
4. unsafe-eval : eval 같은 text-javascript 메커니즘을 허용한다.
[실습 내용]
CSP 를 우회하여 스크립트문을 실행시켜보자!
[초기 화면]
- 초기 화면은 위와 같다.
- 소스를 살펴보았다.
- 해당 사이트의 URL 만 허용하는 것이다.
- 특히, 주석에 있는 해당 URL 은 하위 도메인까지 허용한다.
https://pastebin.com/raw/R570EE00
- 해당 URL 을 넣어보았다.
- 넣어도 아무런 일이 일어나지 않는다..ㅠㅠㅠ 분명 저 링크는 허용한다는 링크인데 왜 안되는건지..
- 그래서 다른 허용하는 링크를 넣어보고 패킷을 잡아봤다.
- 분명 패킷을 잡아보니 인라인으로 해당 사이트가 삽입되었다.
- 하지만 아무일도 일어나지 않았다.
- pastebin.com 에서 작성한 스크립트문의 URL 도 삽입해서 응답 패킷을 확인했더니 분명 인라인으로 들어간 게 보였지만 스크립트문이 실행되지 않았다.
- Self 는 된다고 했으니 한번 Self 를 해봤다.
- 스크립트 파일을 작성했다.
- 그리고 해당 파일의 경로를 입력했다.
- 드디어 스크립트 문이 실행되었다.. 이걸 보려고 얼마나 많이 시도했던가..
- 이렇듯 외부 파일을 삽입하여 스크립트문을 실행되게 할 수 있다.
'TeamH4C' 카테고리의 다른 글
[빡공팟 5기] W5 : DVWA 실습 Write_up 링크 모음 (0) | 2022.10.23 |
---|---|
[빡공팟 5기] W5 : DVWA 실습 - JavaScript (0) | 2022.10.23 |
[빡공팟 5기] W5 : DVWA 실습 - Stored XSS (0) | 2022.10.23 |
[빡공팟 5기] W5 : DVWA 실습 - Reflected XSS (0) | 2022.10.23 |
[빡공팟 5기] W5 : DVWA 실습 - DOM based XSS (0) | 2022.10.23 |