webhacking.kr old 50번 문제풀이(Writeup)
webhacking.kr old 50번 문제풀이(Writeup) 문제를 들어가면 위와 같이 출력된다. SQL Injection을 통해 푸는 문제이고, 코드가 있으니 먼저 확인해보자. 코드를 확인해보니, 방금 전에 푼 old 45번 문제와 유사하다. id와 pw를 받아서 \(역슬래시)를 붙이고, utf-8에서 euc-kr로 바꾸면서 멀티 바이트가 된다. 이후 foreach문을 사용하는데 PHP에서 foreach 문은 배열의 원소나, 객체의 프로퍼티 수만큼 반복하여 동작하는 구문입니다. 반복하면서 from, pw, (, ), 공백, %, =, >, < 를 필터링하고, union도 필터링한다. level 3가 되면 문제가 해결된다. 먼저 필터링에 대한 생각부터 했다. 공백이 필터링이 되니 %09로 우회하고, ..