문제페이지는 해당 페이지와 같다.
페이지에는 view-source 링크만 존재한다.
view-soure 링크를 통하여 해당페이지의 소스코드를 확인한다.
if($_GET['answer'] == $hidden_table) solve(53);
GET 방식의 answer 파라미터 값이 hidden_table 이면 해당 문제가 풀린다.
숨겨진 테이블명을 알아내면 문제가 풀리는 것 같다.
SELECT 구문을 injection 하여 알아내고 싶지만 필터링 되기 때문에 procedure analyse() 라는 함수를 사용한다.
procedure analyse() 는 SQL 내장 함수 중 하나로 select a from {table} where a=1 procedure analyse()
가 들어오면 {DB}.{table}.{column}식으로 반환한다.
Get 방식으로 받아오는 val 파라미터 값을 1 procedure analyse() 로 입력해주면 해당 테이블 명을 알아낼 수 있다.
URL 의 val 파라미터의 값을 1 procedure analyse() 로 입력하여 전송한다.
{DB}.{table}.{column} 순으로 출력되는 것을 확인할 수 있다.
table 명은 chall53_755fdeb36d873dfdeb2b34487d50a805 이라는 것을 알 수 있다.
이 값을 URL의 answer 파라미터 값에 넣어 전송하면 해당 문제가 풀린다.
'프로젝트 > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge(old) 59번 문제 (0) | 2021.07.19 |
---|---|
[Webhacking.kr] Challenge(old) 54번 문제 (0) | 2021.07.19 |
[Webhacking.kr] Challenge(old) 49번 문제 (0) | 2021.07.19 |
[Webhacking.kr] Challenge(old) 46번 문제 (0) | 2021.07.19 |
[Webhacking.kr] Challenge(old) 29번 문제 (0) | 2021.07.19 |