728x90
반응형
350점인 53번 문제를 풀어보자.
answer의 값이 $hidden_table이면 문제가 해결된다.
val 변수를 이용해서 테이블명을 알아내면 된다.
val 변수에는 select, by 문자열은 필터링 된다.
val 변수에 여러 값을 입력해보았지만, (1, 2, 3, 4)에 대해서만 반환되는 값이 있었다.
select가 필터링 되면 information_schema.tables 나 columns 에서 쿼리를 할 수 없다.
그러나 procedure analyse() 함수를 사용하면 가능하다.
테이블과 필드명을 모른다고 하더라도 test.test.id와 같은 형식으로 출력된 첫번째 필드명을 통해 테이블명을 알 수 있다.
이제 문제 풀이에 적용해보도록 하자.
쿼리문 : ?val=1%20procedure%20analyse()
여기에서 테이블명은 chall53_755fdeb36d873dfdeb2b34487d50a805이다.
문제에서는 answer파라미터를 이용해 테이블명을 받아 $hidden_table과 비교하니 값을 request해보자.
쿼리문 : ?answer=chall53_755fdeb36d873dfdeb2b34487d50a805
728x90
반응형
'CTF & WarGame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] 55번 문제 (1) | 2020.03.16 |
---|---|
[webhacking.kr] 54번 문제 (0) | 2020.03.16 |
[webhacking.kr] 52번 문제 (0) | 2020.03.16 |
[webhacking.kr] 51번 문제 (0) | 2020.03.15 |
[webhacking.kr] 50번 문제 (0) | 2020.03.15 |