Wargame/Lord of SQL Injection

<Lord of SQL Injection> gremlin

지우친구 웅이 2021. 11. 7. 23:28

gremlin

GET 방식으로 전달받은 id와 pw의 값에 대소문자를 구분하지않고 'prob'나 '_'나 '.'나 '()' 가 포함되어있으면

"No Hack ~_~"를 출력한다. 아무 문자나 넣어도 상관없는 것 같다.

mysqli_query() : 데이터베이스에 대한 쿼리를 수행

mysqli_fetch_array() : 결과 행을 연관 배열 또는 숫자 배열로 반환

즉, 'id'의 값이 참이라면 문제가 풀린다.

 

가장 기초적인 SQL Injection 구문인 or 1=1로 참을 성립하고 뒤는 전부 주석처리를 하면 될 것 같다.

현재 URL뒤에 ?id=문자열' or 1=1 %23을 입력한다.(#을 urlencoding 방식으로 %23)