작성
·
381
답변 1
1
안녕하세요.
두번째 변경한 코드의 경우
id 변수 값이 test' 라면
$id = str_replace("'","\'",$id);
코드에 의해 test\' 이렇게 치환이 되고,
$id = str_replace("\\","\\\\",$id);
아래의 코드에 의해 test\\' 이렇게 변경됩니다.
그러면 \ 문자가 \\ 이렇게 사용되면 단순 \ 문자로 처리됩니다. 즉, \ 문자가 이스케이프 처리가 됩니다.
그래서 ' 문자가 이스케이프 처리가 되지 않아서 공격이 가능해집니다.
감사합니다!