Web-Programming/PHP4, 5

[ SQL / 인젝션 공격 대비 / mysql_real_escape_string ]

yehza 2011. 7. 5.



[ SQL / 인젝션 공격 대비 / mysql_real_escape_string ] 



SQL 인젝션

프로그램 부 에서 DB 로 질의 하는 QUERY문 을 공격자가 임의로 변조하여 허가되지 않은 자료나 관리자/회원 권한을 획득할 수 있는 공격입니다.
공격 예제

해결책

가변적으로 대입되는 쿼리문의 모든 요소를 mysql_real_escape_string() 이라는 함수를 이용하여 특수 문자를 escape 시켜야 합니다. 아래의 예제는 php.net 에서 권장하는 가장 좋은 방법의 예 입니다.
 0) {
            echo "Product insertedn";
        }
    }
} else {
    echo "Fill the form propertyn";
}
?>
보통, 기본적으로 Magic Quotes 설정에 의해 막아지고는 있으나 6.0 이상부터는 이 기능이 제거되니 의존하지 않기를 권장하고 있습니다.
 
에이빌더에서는 library_lite.class.php 내의 함수 sql_inj_get_safe_value, sql_inj_get_query 로 조치하고 있으며 지속으로 패턴을 추가하고 있습니다.



댓글

추천 글