url을 입력해서 CSP를 조사하라는 창이 있다.
<?php
$headerCSP = "Content-Security-Policy: script-src 'self' https://pastebin.com hastebin.com www.toptal.com example.com code.jquery.com https://ssl.google-analytics.com ;"; // allows js from self, pastebin.com, hastebin.com, jquery and google analytics.
header($headerCSP);
# These might work if you can't create your own for some reason
# https://pastebin.com/raw/R570EE00
# https://www.toptal.com/developers/hastebin/raw/cezaruzeka
?>
<?php
if (isset ($_POST['include'])) {
$page[ 'body' ] .= "
<script src='" . $_POST['include'] . "'></script>
";
}
$page[ 'body' ] .= '
<form name="csp" method="POST">
<p>You can include scripts from external sources, examine the Content Security Policy and enter a URL to include here:</p>
<input size="50" type="text" name="include" value="" id="include" />
<input type="submit" value="Include" />
</form>
';
구성 코드이다.
CSP(Content Security Policy)는 XSS등의 취약점을 막기 위한 보안정책이다.
웹 사이트가 외부로부터 스크립트, 이미지, CSS 등을 로드할 수 있는지 지정할 수 있다.
코드를 살펴보니 허용된 주소에 pastebin.com 이라는 곳이 있다.
이렇게 구성되어 있다.
https://pastebin.com/raw/R570EE00
이 링크에 alert(pastebin);이 올라가 있다.
pastebin 주소는 csp에서 허용된 주소이기 때문에 링크를 넣고 include 버튼을 누르면
alert(pastebin)이 실행된다.
'웹해킹 > DVWA' 카테고리의 다른 글
DVWA Authorisation Bypass(low) 롸업 (0) | 2023.11.11 |
---|---|
DVWA JavaScript(low) 롸업 (0) | 2023.11.11 |
DVWA XSS(Stored)(low) 롸업 (0) | 2023.11.10 |
DVWA XSS(Reflected)(low) 롸업 (0) | 2023.11.10 |
DVWA XSS(DOM)(low) 롸업 (0) | 2023.11.09 |