Knowledge/웹보안 / / 2016. 7. 26. 23:22

웹보안(xss,크로스 사이트 스크립팅,Cross Site Scripting 방어하기)

반응형

웹보안






xss(Cross Site Scripting)


방어


xss막는방법 

html script 구문 사용 하지 못하게  서버2000 에서 c: inetpub/webhack/board/board_wirte.asp

검사하는부분에  value.replace(/script.,"") 이부분이 스크립트 언어를 공백으로 처리하는것입니다.

replace(/script/,""); script 라는 문자를 "" 공백으로 바꿔주는 기능입니다.



이렇게 

<script>

alert("XSS!!");

</script>

스크립트 언어를 작성해도 공백으로 치환하기 때문에 xss 공격을 할수 없게됩니다.


하지만!






<Script>

alert("XSS!!");

</Script>

이렇게 스크립트를 대문자로 작성하면 xss공격을 시도할수 있습니다.


하지만 대문자 막기

서버2000 에서 c: inetpub/webhack/board/board_wirte.asp

document.write_form.content.value=document.write_form.content.value.replace(/script/i,"");

이렇게 i를 추가해주시면 대문자로 바꿔도 다시 스크립트 언어를 사용할수 없게 됩니다.



하지만

<Scriptscript>

alert("XSS!!");

</Script>


이렇게 중복작성 하시면 다시 스크립트 언어를 사용할수 있게 되는데요 이것또한 

c: inetpub/webhack/board/board_wirte.asp 여기 들어가서 

document.write_form.content.value=document.write_form.content.value.replace(/script/i,g,"");

g옵션을 추가하면 중복을 막을수 있습니다.





<sscriptcript>

alert("XSS!!");

</sscriptcript>


다시 이렇게 쓰시면 중간에 스크립트가 공백으로 치환되므로 다시 스크립트 언어를 작성할수 있습니다.


하지만 스크립트라는 문자를 아예 다른것으로 치환하면 

서버2000 에서 c: inetpub/webhack/board/board_wirte.asp

document.write_form.content.value=document.write_form.content.value.replace(/script/i,g,"a");


다시 스크립트 언어를 작성할수 없지만 이 외에도 인코딩 방식 등등 해킹과 보안은 끝이없는 싸움이라고

생각합니다.








반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유