los - wolfman
·
Lord_of_SQL-Injections_I
필터링에 공백이 추가되었다. (공백을 URL Encoding 시키면 '%20'이 나옴) 쿼리에는 id값이 'guest' 로 고정되지만 클리어 조건은 'admin'인 것을 보아 goblin 문제랑 유사하다. 문제는 공백인데, sql injection을 연습할 때 가장 중요한 것은 필터링을 우회하는 것이다. 공백은 단순히 %20 뿐만 아니라 /**/, (), %0 등등 다르게 사용될 수 있는 것들이 무수히 많다. http://localhost/wolfman_4fdc56b75971e41981e3d1e2fbe9b7f7.php?pw=%27%0aor%0aid=%27admin%27%23
los - orc
·
Lord_of_SQL-Injections_I
클리어 조건을 보면 드디어 'pw'를 체크하기 시작한다. 필터링은 별로 신경 쓸 만한 것은 없지만 이전 문제들과 다르게 blind sql injection 문제인 것을 알 수 있다. 중간에 공백 라인을 기준으로 위쪽 부분은 blind sql-inejction 값이 참이면 "Hello admin"을 출력하고, 최종적으로 입력한 'pw'가 올바르면 아래쪽 부분에서 "ORC CLEAR"를 출력할 것이다.
los - goblin
·
Lord_of_SQL-Injections_I
쿼리에서는 id 값이' guest'로 고정되어 실행되는데, 클리어 조건은 'admin'을 원하고 있다. no 파라미터 값을 2로 입력하면 "Hello guest"가 출력되는것으로 보아 admin의 no 값은 1로 추정할 수 있다. 그런데 no 파라미터 값을 1로 입력하면 논리 연산이 거짓으로 되고, no=2 or 1 로 입력하면 쿼리 결과가 'admin','guest' 둘 다 나오기 때문에 쿼리 결과의 개수를 제한시켜야 한다. http://localhost/goblin_e5afb87a6716708e3af46a849517afdc.php?no=2%20or%201%20limit%201,1