web security academy 32

2026. 4. 1. 14:27ㆍ보안/Web security Academy

Lab: Reflected XSS into a JavaScript string with single quote and backslash escaped

This lab contains a reflected cross-site scripting vulnerability in the search query tracking functionality. The reflection occurs inside a JavaScript string with single quotes and backslashes escaped.

To solve this lab, perform a cross-site scripting attack that breaks out of the JavaScript string and calls the alert function.

(이 연구실에는 검색 쿼리 추적 기능에 반영된 사이트 간 스크립팅 취약점이 포함되어 있습니다. 이 반사는 단일 따옴표와 백슬래시가 제거된 JavaScript 문자열 내부에서 발생합니다.

이 실험실을 해결하기 위해 JavaScript 문자열에서 벗어나 경고 함수를 호출하는 사이트 간 스크립팅 공격을 수행합니다.)

 

1. 웹페이지 코드를 보니 검색창에 들어간 값을 searchTerms에 저장하여 인코딩하여 URL에 적용시키는 방식입니다

 

 

그럼 '따옴표를 통해서 밖으로 나와서 alert를 실행을 시키면 될것같습니다

 

<script>
                        var searchTerms = '\'; alert(1); //';
                        document.write('<img src="/resources/images/tracker.gif?searchTerms='+encodeURIComponent(searchTerms)+'">');
</script>

 

해보니 안됩니다 문제에서 '따옴표랑 백슬래쉬관련 공격을 차단을 했다고 합니다..

 

다른 방법을 고민해보니 5search results for'v'가 h1으로 들어가 이를 공략을 해보면 어떨까 생각했습니다

 

h1을 닫고 실행을 시키면 alert가 발생하지 않을까해서 집어넣어봤습니다

 

</h1><script>alert(1)</script>를 해보니깐

  <h1>0 search results for '&lt;/h1&gt;&lt;script&gt;alert(1)&lt;/script&gt;'</h1>

 

괄호같은 문자들이 인코딩되어서 제가 원하는 기능이 되지 않습니다..

 

그렇게 다시 고민을 하던중 이전에 했던 변수를 통해서 하는 것을 script로 시작을 했으니 script를 닫아주고 

alert를 실행시키면 어떨까 해서 

</sciprt><img src =x onerror=alert(1)>를 했습니다

 

네 성공했습니다 

 

정답을 확인을 해보니

 

</script><script>alert(1)</script>

 

sciprt를 닫고 다시 열어서 alert를 실행을 시켜줬네요

 

이상입니다 

 

감사합니다

'보안 > Web security Academy' 카테고리의 다른 글

web security academy 34  (1) 2026.04.07
web security academy 33  (0) 2026.04.02
web security academy 31  (0) 2026.03.31
web security academy 30  (0) 2026.03.30
web security academy 29  (0) 2026.03.27