닝뇽냥뇽
251
2021-05-10 10:44:59
2
171

예전 프로젝트에서 xss보안 관련 소스 보는데 이상해요...


제가 xss 보안 관련해서 요번에 처음 작업 해보고 개인 프로젝트에도 한번 적용해보려고 하는데 본사 소스를 보던 중 제가 알던 xss 보안 관련 소스와 다르다는 것을 알고 한번 여쭤봅니다.


a = a.replaceAll("(?i)&", "&");
a = a.replaceAll("(?i)<xmp", "<x-xmo");
a = a.replaceAll("(?i)javascript", "<x-javascript");
a = a.replaceAll("(?i)script", "<x-script");
a = a.replaceAll("(?i)iframe", "<x-iframe");
a = a.replaceAll("(?i)document", "<x-document");
a = a.replaceAll("(?i)vbscript", "<x-vbscript");
a = a.replaceAll("(?i)applet", "<x-applet");
a = a.replaceAll("(?i)embed", "<x-embed");
a = a.replaceAll("(?i)object", "<x-object");
a = a.replaceAll("(?i)frame", "<x-frame");
a = a.replaceAll("(?i)grameset", "<x-grameset");
a = a.replaceAll("(?i)layer", "<x-layer");
a = a.replaceAll("(?i)bgsound", "<x-bgsound");
a = a.replaceAll("(?i)alert", "<x-alert");
a = a.replaceAll("(?i)onblur", "<x-onblur");
a = a.replaceAll("(?i)onchange", "<x-onchange");
a = a.replaceAll("(?i)onclick", "<x-onclick");
a = a.replaceAll("(?i)ondblclick", "<x-ondblclick");
a = a.replaceAll("(?i)onerror", "<x-onerror");
a = a.replaceAll("(?i)onfocus", "<x-onfocus");
a = a.replaceAll("(?i)onload", "<x-onload");
a = a.replaceAll("(?i)onmouse", "<x-onmouse");
a = a.replaceAll("(?i)onscroll", "<x-onscroll");
a = a.replaceAll("(?i)onsubmit", "<x-onsubmit");
a = a.replaceAll("(?i)onunload", "<x-onunload");
a = a.replaceAll("(?i)<", "&lt;");
a
= a.replaceAll("(?i)>", "&gt;");

이런 식으로 되어있는데 앞에 (?i)가 붙어있습니다. 제가 지금까지 찾아보고 작업 해봤었던 xss 보안에서는 이런게 하나도 없었는데 왜 앞에 (?i)가 붙는지 알 수 있을까요?


아니면 뭔가 문제가 생겨서 앞에 (?i)가 붙은 걸까요.. 뭔가 이해가 하나도 안돼요..



0
  • 답변 2

  • onimusha
    9k
    2021-05-10 10:48:34

    https://coding-factory.tistory.com/529

    정규표현식 표 참고하시면 되요

  • 닝뇽냥뇽
    251
    2021-05-10 10:53:49

    onimusha 

    감사합니다... 지금보니까 정규표현식이군용..

    개인 프로젝트에서 여러가지 테스트 해봐야겠네요.. 감사합니다!

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