vsts
346
2019-09-30 15:59:20
5
114

xss 방지 질문입니다 ㅜㅜ


<div><c:out value="${testValue}"/></div>

html 소스 내에 서버값을 표출할때는

<c:out> 태그를 사용하면 xss 공격을 방지할 수 있는 것으로 알고있습니다

이런 부분은 문제가 없는데요..



<input type="hidden" name="test" value='<c:out value="${testValue}"/>'/>

이렇게 input 태그 안에 <c:out>으로 서버값을 넣어둔 소스들이 있는데

이게 xss에 걸렸다고 수정하라는 지시가 내려왔거든요..

그런데 어떻게 수정해야 하는지를 모르겠습니다 검색해봐도 나오질 않아서..


일단 서버단에 자체적으로 filter가 있기 때문에

저 hidden태그값의 value를 개발자콘솔로 조작해서

<ScRipT>alert('11');</ScRipT> 뭐 이런 식으로 넣은 다음에

서버로 전송해봐도 &lt;.. 뭐 이렇게 다 바뀌어서 가거든요...

여기서 더 뭘 해줘야 하는건지...


혹시 추가로 조치해야 할 부분이 있을까요..

현재 전자정부 프레임워크로 개발하고 있습니다...

0
0
  • 답변 5

  • siro
    191
    2019-09-30 16:06:31

    https://github.com/naver/lucy-xss-servlet-filter

    적용 해보셨나요?

    0
  • n016omega
    398
    2019-09-30 16:09:47

    저기 input 값에 <script>alert("aaa")</script> 이렇게 넣고 등록한후 이 등록한 데이터를

    볼수있는 화면 리스트나 상세화면에서 alert 이 뜨는지 안 뜨는지 확인 해 보셨나요?

    0
  • vsts
    346
    2019-09-30 16:17:19

    siro//

    감사합니다 해보겠습니다..



    n016omega//

    네.. 확인해봤는데 문제는 없었습니다..


    0
  • twinmoon
    979
    2019-09-30 16:32:39

    서버에서 필터처리 되는 것을 증명하고 해당 패턴으로 잡힌 내용은 패스하면 됩니다.

    원래 보안쪽은 무조건 기계적으로 툴을 돌려서 통보만 하지 디테일하게 체크 못하는 경우가 많거든요.

    0
  • rezigrene
    1k
    2019-10-01 09:42:46 작성 2019-10-01 09:45:24 수정됨

    html 태그의 속성값자리는 > < 없이도 스크립트 삽입이 가능합니다.

    ' onclick='alert("123")' dummyattr='
    


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.