TeamH4C

[빡공팟 5기] W6 : DVWA 실습 - Content Security Policy (CSP) Bypass (medium)

이유갬 2022. 10. 30. 23:26

[ 실습 목표 ]

Bypass Content Security Policy (CSP) and execute JavaScript in the page.

CSP 를 우회하여 자바 스크립트를 실행시키는 것이 이번 실습의 목표다!


[ 실습 화면 ]

- 여기에 입력한 내용이 페이지에 바로 입력되므로 알림 상자가 나타날 수 있는지 확인하라는 메시지와 함께 입력 폼이 존재한다.

- 소스 코드를 보면 self, unsafe-inline, nonce-TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA= 는 허용한다는 내용인 것 같다.

- 시험 삼아 스크립트 태그를 입력했고 아무런 일도 발생하지 않았다.

- 스크립트 태그가 삽입된 것을 볼 수 있다.

- 분명 인라인으로 삽입된 자바스크립트는 실행이 되어야하는데 아마 Low 레벨과 마찬가지로 오류인 것 같다.

- 소스코드의 주석 처리 된 부분을 삽입해보았다.

- 스크립트가 성공적으로 실행된 것을 볼 수 있다.

- 우선, CSP 는 Same Origin Policy 와 매우 비슷한 느낌이 든다. 다른 점은 사이트에 직접 규칙을 적용하는 것이다.

script-src : Javascript 등 웹에서 실행 가능한 스크립트에 대한 정책

- 따라서 실습 사이트는 self (하위 도메인은 허용하지 않음), 인라인 자바스크립트 허용, 스크립트 태그에 nonce 를 삽입하면 허용이 된다.