1. 문제
1) 문제 확인
<html>
<head>
<meta charset="UTF-8">
<title>level 1</title>
</head>
<body>
<!-- hint : ?name=admin -->
<center>
Hello </center>
</body>
</html>
HTML
복사
요렇게 나옴. 파라미터를 name에 담아서 전송하는 것으로 보인다. 이를 이용해서 터트리면될 듯
2. 접근방법
reflected xss 문제이다. url을 통해서 파라미터가 전송된다. 일단 테스트를 위해 아무값이나 넣어보자
입력한 파라미터가 출력된다. 바로 스크립트가 터지는지 확인해보자.
굳 바로 터졌다.
3. 풀이
reflected xss란 url에서 즉각적으로 반응된다. 입력된 url의 파라미터가 브라우저로 출력이 되는데, 이때 입력값 검증이 없기 때문에 저렇게 터지는 것이다. 만약 저 사이트가 실제 서비스중인 사이트이고, 입력값 검증이 존재하지 않는다면, 고객을 속여 저 url을 이메일이라든지 카톡이라든지 접속하게끔 유도한다.
희생자가 저 url을 클릭하는 순간 xss가 터질 것이다. reflected xss의 원리는 간단하다. 단지 보안적 기능이 추가되면 입력값 검증이 진행될 텐데 이를 어떻게 우회할지가 포인트이다.
4. 몰랐던 개념
•
none