Webhacking.kr
#55
55번 문제를 열면 아래와 같은 화면을 볼 수 있다.
아래는 rank를 눌렀을 때 볼 수 있는 랭킹 페이지이다.
이 때 score를 누르면
?score=2147483647
로 요청하기 때문에
뒤에 or 1=1을 붙여보면 아래와 같이
id : localhost // 0
이 출력된다.
이 때
or 1 = 0을 수행하면 아래와 같이 gurwodla // 2147483647 가 출력된다.
이를 이용하면 blind sql injection이 가능할 것으로 보인다.
먼저 컬럼의 정보를 알기 위해 procedure analyse()를 하면 아래와 같이 db, 테이블, 컬럼 정보를 얻을 수 있다.
힌트를 보면 password는 3번째이므로 limit을 이용하여 보면 아래와 같이 패스워드의 실제 컬럼명을 알 수 있다.
이 정보들을 이용하여 python으로 패스워드의 길이와 값을 알아내었다.
이 때 substr()을 이용할 수 없어 right()와 left()를 이용하였다.
이렇게 얻은 패스워드로 인증하면 clear할 수 있다.
'Wargame > webhacking.kr' 카테고리의 다른 글
webhacking.kr 57번 (0) | 2019.02.01 |
---|---|
webhacking.kr 45번 (0) | 2019.02.01 |
webhacking.kr 44번 (0) | 2019.02.01 |
webhacking.kr 40번 (0) | 2019.02.01 |
webhacking.kr 33번 (0) | 2019.02.01 |
댓글