사용자 입력 유니 코드에 대한 실제 위험, 사용자 에이전트/브라우저 등에서 처리되지 않는 것이 있습니까?유니 코드 입력 위험
분명히 서버에서 클라이언트로 스푸핑에 대한 실질적인 위협이 있습니다. 그러나 유니 코드 입력을 처리 할 때 어떤 구체적인 '공격'(있는 경우) 또는 불만 사항을 알아야합니까?
질문은 언어에 영향을받지 않지만 GWT 응용 프로그램에 대한 보안 관련 사항을 염두에두고 있습니다.
사용자 입력 유니 코드에 대한 실제 위험, 사용자 에이전트/브라우저 등에서 처리되지 않는 것이 있습니까?유니 코드 입력 위험
분명히 서버에서 클라이언트로 스푸핑에 대한 실질적인 위협이 있습니다. 그러나 유니 코드 입력을 처리 할 때 어떤 구체적인 '공격'(있는 경우) 또는 불만 사항을 알아야합니까?
질문은 언어에 영향을받지 않지만 GWT 응용 프로그램에 대한 보안 관련 사항을 염두에두고 있습니다.
나는 사용자 제어 유니 코드 문자열을 몇 가지 문제를 생각할 수 :
ä
은 단일 코드 점으로 표현하거나 a
다음에 결합 ¨
으로 표시 할 수 있습니다. 유니 코드 표준화는 이러한 문제의 대부분을 해결합니다.l
대 I
문제, 훨씬 더 나쁜 것을 제외하고.나는 확실히 사용자 입력의 가장 큰 위험은 "특수 문자"가있는 상황에서 해당 입력을 사용하는 유니 코드
1. 이것은 실제로 "위험"이 아니라 단지 고려해야 할 사항입니다. 4.가 문제가되면 문자열/인코딩을 올바르게 처리하지 못합니다. 5. 그것이 "위험"인지 여부는 언어가 얼마나 낮은지에 따라 달라질 수 있습니다.나는 2.와 3.가 사용자에게 문제를 일으킬 수있는 점이라는 데 동의한다. – deceze
어느 것이 후속 질문으로 이어 지나요? GWT와 같은 언어/프레임 워크에 의해 내부적으로 이미 다루어 진 문제는 얼마나됩니까? (예를 들어 유니 코드 정규화를 생각하고 있습니다.) –
도우미 기능이 있지만이 문제의 대부분을 알고 있어야합니다. 그들은 자동적으로 해결 될 수 없습니다. – CodesInChaos
에 전문가는 아니지만, 아마 더 문제가 있습니다. 즉, SQL 쿼리로 연결하거나 HTML로 출력하는 것은 당연합니다. 응용 프로그램의 일부 동작이 문자열 (SQL 쿼리 또는 HTML 페이지와 같은)에 의해 제어되고 사용자가 이러한 문자열을 제어하고 자신의 명령을 삽입 할 수있는 경우 위험합니다.
다른 인코딩에 비해 유니 코드에 특별한 점은 없습니다. 사용자 환경의 특수 문자는 잘 정의되어 있으므로 사용자 입력을 이스케이프, 필터 또는 삭제하여 이러한 특수 문자를 특별하지 않게 렌더링하면됩니다. 이것은 다른 인코딩에도 마찬가지로 필요합니다. 이스케이프/필터링/위생 처리 기능이 올바른 인코딩을 인식하여 작업을 올바르게 수행 할 수 있도록주의해야합니다.
이외에도 유니 코드로 인코딩 된 텍스트는 텍스트입니다. 특수 문자를 중립 처리하고 인코딩을 처리하면 텍스트에만 위험이 없습니다. 당신의 사용자 들과는 별도로 특정 목적을 위해 닮은 문자를 이용하거나 sbuıɥʇ pɹıǝʍ buıʇı explo을 이용하는 것이 일반화 된 위험에 대한 것이 아닙니다.
* 사용자가 제어하는 유니 코드 문자열을 출력하는 것은 매우 문제가 될 수 있습니다. 그러나 나는 입력에 많은 이슈를 보지 못했다. – CodesInChaos
사용자가 제어하는 유니 코드를 출력 할 때 어떤 문제가 발생합니까? –