-
[LOS] 1. gremlin 문제 풀이Wargame/LOS (Lord of SQL Injection) 2019. 7. 15. 16:35
문제로 들어가면 상단에 쿼리문이 출력되어 있고, 아래에는 해당 웹페이지의 코드가 나와있다.
소스코드를 간단히 살펴보면, preg_match 함수로 id와 pw의 특정 문자열을 필터링하고 있다. 또한 입력받은 id와 pw를 확인하여 쿼리문이 정상적으로 수행되면 문제가 해결된다.
따라서 SQL 인젝션을 이용하여 쿼리문이 항상 true를 반환할 수 있도록 id와 pw의 인자를 조작하면 된다.
select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}' select id from prob_gremlin where id='1' or '1' and pw='1' or '1'
위와 같은 SQL문이 전송될 수 있도록 현재 페이지의 URL 뒤에 ?id=1' or '1 & pw=1' or '1을 입력해준다.
id와 pw가 모두 참이 되므로, 최종 쿼리문은 true가 반환되어 문제가 해결된다.
'Wargame > LOS (Lord of SQL Injection)' 카테고리의 다른 글
[LOS] 6. darkelf 문제 풀이 (0) 2019.07.17 [LOS] 5. wolfman 문제 풀이 (0) 2019.07.16 [LOS] 4. orc 문제 풀이 (0) 2019.07.16 [LOS] 3. goblin 문제 풀이 (0) 2019.07.16 [LOS] 2. cobolt 문제 풀이 (0) 2019.07.16