웹해킹 문제 페이지에 들어가니 이렇게 목차가 나와있다.
vuln(xss) page 에 들어가보니 이런 식으로 팝업이 뜬다
Memo 에 들어가보니 이런 식으로 떠있고
flag에 들어가보니 이런 식으로 문자를 적고 제출할 수 있게 되어있다.
제공된 코드를 살펴보니
'/vuln'페이지는 vuln의 인자값을 가져오고
'/flag' 페이지는 각 get과 post에 따라 방식이 다르다.
get은 'flag.html'페이지를 제공하고, post는 파라미터값과 flag를 포함하여 check_xss 함수를 호출한다.
'/memo' 페이지는 memo파라미터 값을 render_template 함수를 통해 기록하고 출력한다.
flag 입력하는 곳에 어떤 값을 입력하면 알림창이 뜨고 memo에 들어가보면 hello가 적히는 걸 볼 수 있었다.
flag를 입력한 후에 memo에 flag가 뜨는 형식인 거 같은데 입력할 값을 구해야 한다.


이렇게 good이 뜨고 memo에 가면 hello가 입력된다.
- location.href: 전체 URL을 반환하거나, URL을 업데이트할 수 있는 속성값
- document.cookie: 해당 페이지에서 사용하는 쿠키를 읽고, 쓰는 속성값
이 두가지 표현법을 힌트로 얻어 공격 구문을 적어보았다.
공격구문: <script>window.open('http://127.0.0.1:8000/memo?memo='+document.cookie)</script>
플래그 획득 성공!!
'CTF > 웹' 카테고리의 다른 글
[Dreamhack] simple-ssti (0) | 2024.03.08 |
---|---|
[Dreamhack] image-storage (0) | 2024.03.08 |
[Dreamhack] xss-2 (1) | 2023.10.08 |
[Dreamhack] session-basic (1) | 2023.10.08 |
웹 해킹 기초 (0) | 2023.02.07 |