인프런 커뮤니티 질문&답변
str_replace함수의 순서에 따라 오류가 발생하는 원인
작성
·
399
답변 1
1
크리핵티브
지식공유자
안녕하세요.
두번째 변경한 코드의 경우
id 변수 값이 test' 라면
$id = str_replace("'","\'",$id);
코드에 의해 test\' 이렇게 치환이 되고,
$id = str_replace("\\","\\\\",$id);
아래의 코드에 의해 test\\' 이렇게 변경됩니다.
그러면 \ 문자가 \\ 이렇게 사용되면 단순 \ 문자로 처리됩니다. 즉, \ 문자가 이스케이프 처리가 됩니다.
그래서 ' 문자가 이스케이프 처리가 되지 않아서 공격이 가능해집니다.






감사합니다!