전체 글 82

level 2 CSP Bypass

이번 문제도 저번에 풀었던 xss 문제들과 구조는 거의 유사하다. 하지만 다른점이 있다면 xss 필터링 대신 CSP 기법이 적용되었다는 것이다.add_header() 함수 분석@app.after_requestdef add_header(response): global nonce response.headers[ "Content-Security-Policy" ] = f"default-src 'self'; img-src https://dreamhack.io; style-src 'self' 'unsafe-inline'; script-src 'self' 'nonce-{nonce}'" nonce = os.urandom(16).hex() return response 해당 함수에 ..

CTF & Wargame(WEB) 2025.04.18

XSS Filtering Bypass Advanced level 3

문제는 이전에 풀었던 xss 문제들과 구조는 거의 유사하다. 하지만 달라진 점이 있다면 필터링을 하는 키워드가 더 많아졌다는 것이다. xss_filter() 함수 분석def xss_filter(text): _filter = ["script", "on", "javascript"] for f in _filter: if f in text.lower(): return "filtered!!!" advanced_filter = ["window", "self", "this", "document", "location", "(", ")", "&#"] for f in advanced_filter: if f in text.lower(): ..

CTF & Wargame(WEB) 2025.04.18

level 1 XSS Filtering Bypass

저번 강의에서 풀었던 xss-1 문제와 거의 유사하지만 새로운 xss 필터링 기법이 적용되어 있다. xss_filter 함수 분석def xss_filter(text): _filter = ["script", "on", "javascript:"] for f in _filter: if f in text.lower(): text = text.replace(f, "") return textscript, on, javascript: 이 세개의 코드들을 하나씩 필터링하고 있는 것을 확인할 수 있다. 따라서 해당 키워드들을 우회해주면 쉽게 flag를 획득할 수 있을 것이다. 익스플로잇xss_filter 함수를 확인해보면 script, on ,javascript: 이 세가..

CTF & Wargame(WEB) 2025.04.17