본문 바로가기

웹해킹/DVWA

DVWA CSP Bypass(low) 롸업

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