[PortSwigger] Reflected XSS into HTML context with nothing encoded

이번엔 reflected cross-site scripting 취약점이 존재한다고 한다. 강의에서 배운 바로는, 이 기법은 서버를 거치지 않고도 공격자가 악성 script를 사용자에게 전송하면, 사용자가 이를 실행하고, 공격자는 사용자가 실행한 브라우저를 통해 개인정보를 얻어낼 수 있다!

저번 문제와 마찬가지로 alert 함수를 실행시키면 된다.

이번에도 블로그가 있고 여러 글이 있다.

물론 이번 문제는 저번처럼 블로그에 악의적인 comment를 달아서 공격하는 방법은 아니다. 그렇다면 이용할 수 있는 다른 취약점은 무엇이 있을까?

블로그에 들어가자마자 보이는 것이 하나 있다. 바로 Search the blog 칸이다. 원래의 의도는 글 제목을 검색하도록 만든 것이겠지만, 우리는 이것을 이용하여 공격할 수 있다.

실제로 해당 검색 칸에 ‘say it with flowers’라고 검색한 결과이다. 이때 url을 살펴보자.

우리가 작성한 문자열이 url에 그대로 전달되는 것을 확인할 수 있다. 그렇다면 여기에 스크립트를 작성하면, 해당 스크립트를 실행할 수 있지 않을까?

즉, 검색 칸에 우리가 원하는 스크립트를 작성하여 search를 클릭하면, 이는 사용자가 브라우저에 해당 스크립트를 실행하도록 요청하는 꼴이 되기에 스크립트를 실행하게 된다!

alert 함수가 실행되었다!

문제 해결~

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤