본문 바로가기
Wargame/webhacking.kr

webhacking.kr 40번

by morae23 2019. 2. 1.

[Blind SQL Injection]

 

 

40번 문제를 열면 아래와 같은 화면을 볼 수 있다.

 

 



 

 

이 때 no가 1일 때 guest인 것으로 추정된다.

따라서 no가 2일 때로 요청해볼 것이다.

 

원래 guest로 로그인할 경우

no=1&id=guest&pw=guest

가 된다.

 

이를 약간 변형하여

no=0||no=2&id=guest&pw=guest를 수행할 것이다.

 

참고로 no=1인 경우 guest에 해당하기 때문에(no=2를 시도하는 이유는 guest가 아닌 유저에 관한 정보를 얻기 위함이다.)

no=1||no=2가 아닌 0으로 한 것이다.

 

0이 실제로 다른 id에 할당된 값인지 먼저 확인하였다.

 

Failure가 출력되는 것을 보면 사용해도 될 것으로 보인다.

 

 



 

 

그리고 no=2인 경우 admin password를 입력하는 창이 보인다.

Admin의 no가 2인 것을 알 수 있다.

 

 



 

 

이 점을 이용하여 length()로 pw의 길이를 확인하고

substr()으로 실제 pw를 알아내는 코드를 작성하였다.

 

 



 

 

실제 수행 결과는 아래와 같다.

 

 



 

 

이렇게 획득한 pw를 이용하여 clear할 수 있다.

 

 



 

 



 

 



'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 45번  (0) 2019.02.01
webhacking.kr 44번  (0) 2019.02.01
webhacking.kr 33번  (0) 2019.02.01
webhacking.kr 29번  (0) 2019.01.29
webhacking.kr 15번  (0) 2019.01.29

댓글