vampire 풀이
코드 분석을 해보면 id가 admin일 때 문제가 풀립니다. 하지만 str_replace() 함수를 이용해서 id에 "admin"이 들어가 있으면 NULL 값으로 치환합니다. 어디선가 많이 본 패턴입니다! 이 문제의 의도는 "str_replace() 함수의 취약점을 이용하여 문제를 풀 수 있는가?"인 것 같습니다. 쿼리문에서 id 변수에 값을 줄 때 admin이 한 번 필터링 되더라도 admin이라는 문자열이 완성되도록 값을 주면 문제가 풀릴 것 같습니다. adadminmin 이렇게 값을 주면 밑줄이 쳐진 부분이 필터링 되더라도 남은 문자열이 합쳐서 admin이 되므로 문제가 풀립니다. 이전 문제보다 훨씬 간단하네요.
2021.08.21