인터루드

blind sql injection advanced

U.J 2022. 11. 19. 15:26

문제

 

main 페이지

 

code

입력을 하면 아무런 검사없이 입력값이 바로 mysql 쿼리에 사용되기 때문에 -> SQL Injection 취약점이 발생함

But, 쿼리 실행 결과를 그대로 보여주는 것이 아닌 성공 여부만 알 수 있기 때문에 Blind SQL Injection을 이용해야 함

 

알아내기 위해

1. admin의 패스워드 길이 찾기

2. 문자별 비트열 길이 찾기 (문자가 한글인지 아스키코드인지 알 수 없기 때문에)

3. 각 문자별 비트열 추출 (아스키코드 최대 8번, 한글 최대 24번)

4. 비트열 문자로 변환시키기

 

한글일 경우, UTF-8 인코딩 방식으로 잡기 (비밀번호를 16진수로 바꾸고 디코딩하는 방식 사용) 

 

Run and Debug를 누르면

 

답: DH{이것이비밀번호!?}

'인터루드' 카테고리의 다른 글

login-1  (0) 2022.11.20
funjs  (0) 2022.11.19
session  (0) 2022.11.13
proxy-1  (0) 2022.11.13
simple-ssti  (0) 2022.11.10