[webhacking.kr] 59번 문제
200점인 59번 문제를 풀어보자. 테스트를 위해 test/test계정으로 JOIN을 해보고, POST로 전달되는 데이터에는 어떤 것이 있는지 확인하자. JOIN할 때는 id와 phone에 데이터가 담겨 request되고, LOGIN할 때는 lid와 lphone에 데이터가 담겨 request된다. LOGIN을 시도했을 때 쿼리의 결과 중 lv가 'admin'이면 문제가 풀리게 된다. 이제 JOIN부분 소스코드를 살펴보자. phone의 길이가 20자 이상이면 exit()이 실행된다. id 파라미터에서는 admin 문자열을 필터링하고, phone 파라미터에서는 admin, 0x, #, hex, char ,ascii, ord, select 문자열이 대소문자 관계 없이 필터링된다. insert 쿼리문에서 $_P..