본문 바로가기

보안공부/Lord of SQLInjection 풀이

Lord of SQLInjection Gremlin 풀이

코드를 보자..

 

id와 pw값을 입력하면  그 값이 포함된 SQL 쿼리문을 작성하고 실행하는 모양이다.

GET을 통해 값을 입력받는 방식인지라 주소창을 통해 쉽게 값을 전달할 수 있었다.

 

우리는 admin 계정으로 로그인을 해야하므로 id는 admin으로 설정한다.

하지만 비밀번호는 모르므로 비밀번호에 대한 쿼리문에 명령어를 주석처리 해야했다.

 

그래서 매우 대중적인(표준적인) SQL 인젝션 구문을 삽입해보았다.

하지만 다음과 같이 새로운 작은따옴표(')가 붙는것을 확인하였다.

 

위 상황은 $_GET["ID"]부분에 있는 중괄호 때문인데, 이는 다른 따옴표를 추가로 삽입함으로써 우회할 수 있었다.

이제 우리가 원했던대로 작은 따옴표(')가 앞의 SQL 구문에 간섭하지 않게 되면서 and pw=''라는 구문이 실행되지 않게 되었다.

 

이렇게 문제를 풀었다.