사용자 입력을 변형하는 다음 에디터
site | 2011-06-05
제 홈페이지 주소 URL을 메일로 전달한 적이 있습니다. 그런데 메일 받으신 분께서 페이지가 안열린다고 하시더군요. 그분에게 전달된 메일을 보니까 제가 입력한 URL이 변형이 되어 있는 것입니다. URL 중간에 있던 javascript라는 디렉토리 이름이 Java-script로 변형이 되어 있었습니다. 제가 메일을 보낸 곳은 지메일이고 그분이 메일을 받으신 곳은 다음메일(한메일)이었습니다.
제가 가는 다음 까페 중에 웹 디자인과 관련된 곳이 있는데 자바스크립트에 대한 질문도 자주 올라옵니다. 그러다보니 자바스크립트 코드를 올리는 경우가 있는데 그 코드를 바로 복사하면 실행이 안됩니다. expression이나 eval 같은 문자열이 있으면 뒤에 !를 붙여버려서 구문 오류가 발생하는 것입니다. evaluation을 입력하면 eval!uation으로 바뀌는 어처구니 없는 현상을 볼 수 있습니다.
javascript expression eval evaluation onclick onmouseover onfocus
까페 게시판에 이렇게 입력을 하면 화면에 아래와 같이 나옵니다. 에디터 글을 출력할 때 변경하는 것 같습니다.
xxjavascript expression! eval! eval!uation [안내]태그제한으로등록되지않습니다-xxonclick [안내]태그제한으로등록되지않습니다-xxonmouseover [안내]태그제한으로등록되지않습니다-xxonfocus
태그는 안넣고 텍스트로만 입력했는데 태그제한이라니 무슨 말인지 모르겠습니다. 덕분에 링크가 걸린 글의 링크가 다 깨져서 웹서버에서 보정을 했습니다.
고객센터에 문의를 하니 XSS 필터링 때문에 그렇다는 군요. 좀 더 정교하게 개선하겠다고 답변은 받았는데 빨리 개선되어야 하지 않을까 싶습니다.
Comments
오호 그런일도 생기는군요 ㅎㅎ