(Lord of SQLInjection) gremlin 문제입니다.
문제 사이트에 접속하면 소스코드와 맨윗단에 쿼리가 어떻게 실행되는지 출력되어 있습니다.
먼저 소스코드를 해석해보자면 prob, _ , . , \ 등이 필터링 되어 있고
이를 사용하면 No Hack 가 출력된다는 군요
즉 from 절을 보면 알 수 있듯이 prob을 이용한 테이블 데이터베이스의 공격은 하지말라는 걸로 이해할 수 있습니다.
그럼 문제해결을 위해 봐야할 부분은 id 와 pw 를 GET방식으로 받으며 두개가 일치할 시
문제가 해결되는 것을 볼 수 있습니다.
가장 간단한 문제인데
id='' and pw='' 를 모두 받는 형태로 이루어져 있어
주석을 이용한 공격이 가능합니다.
즉 id만 맞다면 주석처리를 이용해 and 부터 뒷부분을 무시하는 구문으로
id='admin' -- and pw='1' 형태인데 id 값 다음에 주석처리를 삽입하는 것으로
공격을 하는 것입니다.
그럼 이를 이용해 문제를 해결해보겠습니다.
url에 삽입하는 형태라 자동으로 URL 인코딩이 되어 %20 %27등으로 변환되며
문제가 해결되었습니다.
'Wargame(Web) > Lord of SQLInjection' 카테고리의 다른 글
(Lord of SQLInjection) darkelf문제 (0) | 2022.08.16 |
---|---|
(Lord of SQLInjection) wolfman문제 (0) | 2022.08.16 |
(Lord of SQLInjection) orc 문제 (0) | 2022.08.12 |
(Lord of SQLInjection) goblin 문제 (0) | 2022.08.01 |
(Lord of SQLInjection) cobolt 문제 (0) | 2022.08.01 |