JSFuck and XSS Payload (부제 : !,[,],(,),+ 만으로 XSS하기)
▶ JSFuck? JavaScript + BrainFuck 의 합성어로, 난해한 JS 프로그래밍 스타일을 뜻한다. 전에 작성한 Filtering Bypass를 할 수 있는 극단적 경우가 여기에 해당된다. JS문법에서 사용되는 문자 중 단 6가지인 [,],(,),+,! 만으로 JS코드를 구성할 수 있음에 착안하여 고안된 프로그래밍 스타일이다. ▶ 원리? JS의 자체기능을 이용해서 문자를 뽑아쓰는 형태로 작동된다. 대표적인 것이 괄호를 문자열로 바꾸는 방법이다. ★ ![] = false : 배열 자체는 truthy한 값으로 인정되는데, 이것을 부정하면 false가 나온다. ★ (객체)+[] = "" : 자바스크립트에서 오브젝트 간에 더하기 연산은 정의되어 있지 않으므로 .toString() (문자열로 변환)..
2022. 12. 11.