웹고트 Injection flow - Blind Numeric SQL Injection
Wargame | CTF/WebHacking

웹고트 Injection flow - Blind Numeric SQL Injection

아래 양식을 통해 사용자는 계좌 번호를 입력하고 계좌 번호가 유효한지 여부를 결정할 수 있습니다. 이 양식을 사용하여 참 / ​​거짓 테스트를 개발하여 데이터베이스의 다른 항목을 검사하십시오. 목표는 cc_number가 1111222233334444 인 행에 대한 테이블 핀의 필드 핀 값을 찾는 것입니다.이 필드는 정수 유형 인 int 유형입니다. 발견 된 핀 값을 양식에 넣어 수업을 통과시킵니다.

실험을통해 101번이라는 숫자는 valid 하다는 결과를 알아냈습니다. 쿼리상 101을 select구문으로 찾아와서 있으면 True를 반환하는것 같습니다. 101이 참임을 이용하여 and를 사용해 pin값을 찾아봅시다. 

101 and ((select pin from pins where cc_number = '1111222233334444')>3000) 을 넣으니 Invalid 라고 뜹니다. 뒤의 구문이 거짓이라는 뜻입니다.

101 and ((select pin from pins where cc_number = '1111222233334444')>2000) 을 넣으니 valid 라고 뜹니다. 뒤의 구문이 참이라는 뜻입니다. pin 값은 2000~3000 사이입니다. 계속 해보겠습니다.

pin값은 2364입니다.