2010-02-27 3 views

답변

1

제어 문자 주입과 관련된 모든 공격을 차단하는 은색 총알은 없습니다. 취약점은 데이터 사용 방법에 따라 크게 다릅니다. 예를 들어, xss는 제어 문자 <>을 사용합니다. SQL Injection은 제어 문자 '"\을 사용하기 때문에 두 필터를 혼합하는 것이 의미가 없습니다.

데이터를 사용하기 전에 데이터가 유효 함을 보장하기 위해 정규 표현식 모음을 사용할 수 있습니다. 특정 정규 표현식을 사용하여 함수별로 특정 취약점을 방지 할 수 있습니다. 입력 유효성 검사는 보안 영역을 넘어서며 프로그램이 제대로 작동하는 데 종종 필요합니다.

Regex 's가 항상 작업을 완료하는 최선의 방법은 아닙니다. 예를 들어 mysql 라이브러리를 사용하고 있다면 mysql_real_escape_string() 함수 호출이 있어야한다. mysql_real_escape_string()은 mysql이 인식하는 모든 제어 문자들이 적절하게 이스케이프되도록 보장한다. 자신의 보안 시스템을 작성하려고 시도하는 대신이 기능을 사용하는 것이 가장 바람직합니다. 휠을 다시 발명하면 엔지니어링이 좋지 않으며 보안 시스템과 관련하여 큰 재앙이 될 수 있습니다.

+0

xss는'' ''및 많은 다른 문자도 사용합니다 .'' "\\'없이 SQL 주입도 가능합니다. – knittl

관련 문제