1n73ction |
윗 방식은 생성자난독화 기법으로 불리우며,
NaN, Undefined, Number, Boolean, Object 등의 문자열을 조립하며 변수 및 함수명을 선언하는
방식으로 문자열처리를 하여 쿼터 등의 문자를 쓰지 않고도 XSS 코드 작성이 가능한 방법입니다.
이와 비슷한 기법으로 달러 난독화로도 불리우는 스플릿 문자 $ 를 이용한 jj encoding 이라는 난독화 기법이 존재하나 , jj encode 방식은 Operating System , Browser depended 즉 유연성 ( flexibility ) 이 떨어져 몇몇 환경에서는 실행되지 않으므로 부적절합니다. 위와 같은
생성자 [] 난독화 방식이나 META 태그에서 charset 속성 설정을 이용하여 여러가지 인코딩 방식을 통해 우회를 하는 방법이 가장 적절하겠으나 , 언어셋을 이용하여 우회하는 방식은 %3C , %3E 외에 비허용 문자인 %3D 를 포함시켜야 하기 때문에 생성자 [] 스트링을 이용한 난독화 기법만이 필터링 처리 되지 않는 가장 적절한 방식이라고 볼 수 있겠습니다
:D |
2014/10/26 |
|