ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • XSS(Cross-SIte-Scripting)
    > Information Security/ Web Security 2013. 9. 11. 00:41

    본 게시글은 연구목적으로 작성된 글이며, 악의적인 목적으로 이용 시 법적 책임은 자신에게 있습니다.


    XSS (Cross - Site- Scripting)


    필터링되지 않은 스크립트문(예 :<script>~</script>)이 웹에서 출력되어 스크립트가 실행되는 경우를 말한다.




    XSS의 가장 일반적인 형태는 공격자가 웹 서버에 게시물을 통해 악성스크립트를 업로드하고,

    사용자는 해당 게시글을 클릭했을 때 악성 스크립트가 실행되는 형태다.






    여기에서 악성스크립트가 실행되는 방식에 따라 Stored방식Reflective방식으로 나뉠 수 있다.
















    1. 공격자가 웹 서버에 악성스크립트가 담긴 게시물을 등록한다.

    2. 이 때 게시물은 웹 서버에 저장된다.

    3. 사용자가 웹 서버에 요청/응답할 때, 악성스크립트가 실행된다.





    1. 공격자는 게시글에 악성스크립트를 저장하는 것이 아닌, 악성스크립트가 담긴 URL을 노출시킨다.

    2. 사용자가 웹 서버에서 노출된 URL에 접근하면 악성 스크립트가 실행된다.









    [준비물]


    웹 서버가 구축되어 있는 OS

    공격자의 OS


    -> 이 때 공격자의 OS에서 apache 서비스는 필수!

    #service apache2 start


    [실습 환경]


    실제 네트워크 환경 처럼,

    공격자가 웹 서버에 접속하여 악성 스크립트가 담긴 게시글을 작성한다.

    사용자가 게시글을 클릭하게 되면 스크립트가 실행된다.


    여기에서는 스크립트의 실행 여부는 alert창이 뜨는 것으로 대신한다.









    더 다양한 XSS 공격방식은 

    OWASP에서 지원하는 XSS Cheat Sheet를 통해 더 적용해 볼 수 있다.

    https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet



    XSS 취약점은 악용되는 태그의 새로운 패턴이 계속 생성되고 있고, 정상적인 서비스에도 이용되는 경우가 있어 100% 차단하기 어렵다. OWASP Top 10 A2인 XSS 취약점의 대응방안으로는 게시물 등록 시 입/출력값 검증(악성 스크립트 필터링)과 키에 인증기법을 적용하거나 암호화하는 방안이 있다.






    참고 : 코어시큐리티 -Web Security




    728x90
    반응형
Designed by Tistory.