응 안녕~
소스를 보면 index.phps로 가보라고 한다.
가보면 get으로 받은 answer가 hidden_table과 같으면 문제가 풀리고
val변수는 필터링이 된다.
그렇지만 val변수는 select test1 from $hidden_table where test2=$GET[val]의 쿼리문이 완성 되면
answer값을 집어 넣을 수 있는 칸이 나온다고 되어 있다.
우선 val=1을 집어넣으면 test
2값은 guest
3값은 admin
4값은 zombie가 나온다!
하지만 우리는 hidden_table명을 집어 넣어줘야 하지만
알지 못하기 때문에
다시 쿼리문을 보자면
"select test1 from $hidden_table where test2=$GET[val]"에서
hidden_table에서 우리는 값을 받아온다.
그리고 echo는 f[0]이다.
그렇지만 select가 막혀있고 union도 막혀있다.
그래서 찾아보던 중
쿼리문 끝에 procedure analyse()를 입력하면
테이블의 정보들과 다양한 컬럼 정보가 출력된다.
그리고 그중 제일 처음은 file_name, 즉 테이블의 이름을 볼 수 있다.
예를들면 채소의 테이블을 뽑아내면 컬럼명은 물론 데이터베이스 명과 테이블 명또한 볼 수 있다.
그래서 ?val=3 procedure analyse()를 입력하면
나오는 문장에서 가운데가 테이블 명이다.
그래서 테이블 명을 제출하면!
53번도 클리어!
'WebHacking > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 43번 (0) | 2018.01.25 |
---|---|
Webhacking.kr 49번 (0) | 2018.01.19 |
Webhacking.kr 35번 (0) | 2018.01.18 |
Webhacking.kr 48번 (0) | 2018.01.17 |
Webhacking.kr 56번 (0) | 2018.01.17 |