[Web_Hacking] Reflected XSS-10

Song·2024년 9월 8일

XSS

목록 보기
11/12

Lab: Reflected XSS into a template literal with angle brackets, single, double quotes, backslash and backticks Unicode-escaped

문제

해당 LAB은 blog 검색 기능에 XSS 취약점이 존재한다. reflection은 꺽쇠 기호, 싱글, 더블 쿼터가 HTML 인코딩되어 있고, 백틱(`), 백 슬래시(\)가 이스케이핑된 template string에서 발생한다.

해당 LAB을 해결하기 위해서 XSS 공격을 수행해 template string 안에서 alert() 함수를 호출해라.


정보수집

💡 Template String(템플릿 문자열)
Template Literal(템플릿 리터럴)이라고도 불리며, 백틱(`) 기호를 사용하여 작성합니다.

템플릿 문자열은 문자열 내에서 ${}를 사용해 변수를 쉽게 삽입하거나, 여러 줄의 문자열을 간편하게 작성할 수 있는 기능을 제공합니다.

우선 아무 값이나 입력해보겠습니다.

코드를 확인해보면 message라는 변수의 값을 백틱(`)으로 감싸고 있습니다. 이렇게 되면 표현식 삽입 구문(${})을 사용해 변수 또는 함수를 입력할 수 있게되어 취약점이 발생합니다.


공격

${alert(1)} 입력하면 끝.

코드를 보면 입력 값이 문자열로 해석되지 않는 것을 볼 수 있습니다.

profile
안녕하세요

0개의 댓글