Study/Web Hacking

[DreamHeck] xss-1

얀 짱 2026. 7. 21. 21:38

app.py를 확인하기 전에 페이지를 먼저 확인함.
vuln(xss) page를 누르면 param값으로 <script>alert(1)</script> 이게 들어오고 끝.
memo에서는 직접 url에 memo값으로 어떤 값을 입력하면 한 줄씩 글이 입력이 되었음.
flag 안에는 param 값을 직접 입력하여 제출을 누르면 good가 뜸. -> memo에 hello가 동시에 입력됨.

read_url 함수와 check_xss 함수를 확인하면 쿠키 뭐시기 값으로

def check_xss(param, cookie={"name": "name", "value": "value"}):
    url = f"http://127.0.0.1:8000/vuln?param={urllib.parse.quote(param)}"
    return read_url(url, cookie)
 

플래그 값이 저장되어 있겠구나 했음

구글링을 해봤더니 document.cookie 이런 식으로 쿠키값을 표시한다고 했음.
https://m.blog.naver.com/is_king/221613250939

 

[비박스] Cross Site Script(XSS) - Stored (Cookies)

Cross Site Script(XSS) - Stored (Cookies) Cross Site Script(XSS) 공격 기법은 2013...

blog.naver.com

 

뭐 이런 식으로?? <script>alert(document.cookie)</script>
그래서 나도 <script>document.cookie</script> 이렇게 입력했는데 실패ㅜ

url이 /memo?memo=블라블라 이런 식으로 들어와야 되니까
<script>/memo?memo=document.cookie</script> 이렇게 입력했는데 실패ㅜ

알고보니 js 문법이라 <script>'/memo?memo='+document.cookie</script> 이런 식으로 해야 했음!
근데 이렇게 하면 안 됐음 ㅠ

https://m.blog.naver.com/diceworld/220180929456
찾아보니 페이지를 바꿔야 되니까!

 

자바스크립트 페이지 이동 (location.href)

     - location.href 란?      href 는 location 객체에 속해있...

blog.naver.com

 


/vuln?param= 이 부분 /memo?memo= 이걸로

그래서 <script>location.href='/memo?memo='+document.cookie</script> 이렇게 입력해서 풀었음