https://webhacking.kr/challenge/web-32/ 문제 제목부터가 SQL INJECTION 이다. 소스코드를 바로 확인해보자.
$result['id'] 의 값이 admin이면 문제를 풀 수 있고, 주석으로부터 no = 2 를 만들어야 함을 알 수 있다. 그렇다면 $_GET[no] 에 2 or no=2 정도로 넣으면 문제가 풀릴 것 같은데...
문제는 정규패턴매칭을 통해서 스페이스를 걸러낸다는 점이다. 따라서 1과 or, or와 no 사이에 있는 공백을 매꿔줘야 한다.
SQL INJECTION 시 공백을 매꾸는 방법들은 다양한데, 여기서는 TAB 의 아스키코드인 %09 를 사용하겠다. 즉, 답은 2%09or%09no=2 가 된다!...
[ Webhacking.kr] 18번 ( SQL INJECTION )에 대한 요약내용입니다.
자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.