게으른 개발자의 끄적거림

Java Xss 대처 방안

끄적잉 2023. 5. 23. 22:14
반응형

 크로스 사이트 스크립팅(XSS)이란 무엇일까요? 바로 이렇게 악의적으로 해커가 어떠한 게시판에 적어 놓았을때 해당 스크립트가 실행되며 사용자들의 컴퓨터에 악영향을 미치는 것을 말합니다. 비슷하게 알려진 CSRF는 사용자의 인증된 세션을 통한 공격이고 XSS는 세션없이도 가능하다는 점이 다릅니다.

(원래 CSS였으나 이건 Cascading Style Sheets와 중복되서 XSS로 됬다고 합니다. )

 

Ex) 

<script>alert("우헤헤 악성코드를 발동시키는 스크립트다!");</script>

<img src="#" onerror="this.src='이 url로 이동하면 니 정보가 빠지는 url이야!'"/>

 

 

해결방법

 

<&lt;

>&gt;

" → &quot;

' → &#39;

evaluation = evaluation.replace("<", "&lt;").replace(">", "&gt;");

evaluation = evaluation.replace("'", "&quot;").replace('"', '&#39;');

 

Java 코드

 

 public static string ConvertOutputValue(string pValue)
    {
        pValue = pValue.Replace("&amp;", "&");
        pValue = pValue.Replace("&lt;", "<");
        pValue = pValue.Replace("&gt;", ">");
        pValue = pValue.Replace("&quot;", "\"");
        pValue = pValue.Replace("&apos;", "'");
        pValue = pValue.Replace("&#x2F;", "\\");
        pValue = pValue.Replace("&nbsp;", " ");
        pValue = pValue.Replace("<br />", "\n");

        return pValue;
    }

 

 

참조 : https://useful-coding-dictionary.tistory.com/entry/Cross-Site-Scripting-XSS

 

Cross Site Scripting (XSS)

Cross Site Scripting(XSS) 란? 게시글과 같은 페이지에, 공격자가 악성 스크립트를 삽입하여, 사용자의 정보를 탈취, 악성코드등을 유입시키는 공격을 말합니다. 이 공격의 특징으로는 사용자(클라이

useful-coding-dictionary.tistory.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jhc9639&logNo=220923970564 

 

[JavaScript] 자세히보는 크로스사이트스크립팅 (XSS)

크로스사이트스크립팅(XSS) 크로스 사이트 스크립팅(XSS)이란 무엇일까요? 바로 이렇게 악의적으로 ...

blog.naver.com

 

반응형