반응형
문제에 접근해보자.
unique id를 찾아서 입력을 하면 문제가 풀릴꺼같다.
일단 간단하게 test를 입력하고 Search를 눌러주면 아래와 같이 친절하게 에러를 보여준다.
그래서 Error based SQLI 인가 싶어 진행을 해보았다.
https://babyweb.rootersctf.in/index.php?search=0+order+by+1 (에러발생 X)
https://babyweb.rootersctf.in/index.php?search=0+order+by+2 (에러발생 X)
https://babyweb.rootersctf.in/index.php?search=0+order+by+3 (에러발생 O)
에러 발생이 되지 않을 때 아래와 같이 SELECT 쿼리문을 보여주기 때문에 테이블명이 users임을 알 수 있고 위의 order by를 통해 users 테이블에는 컬럼이 2개임을 알 수 있다.
이후 having 절을 통해 컬럼명을 찾아보려했는데 에러가 발생되지 않고 정상적으로 실행되길래 몇번 삽질과 함께 검색을 하다 아래와 같은 사이트를 찾았다.
여기서 소개해준 기법을 통해 아래와 같이 쿼리를 만들어서 원하는 데이터 추출이 가능함을 확인하고 쭉쭉 풀었다.
users 테이블의 컬럼명은 user와 uniqueid이며 이 중 uniqueid를 아래 쿼리를 통해 획득하였다.
해당 값을 입력해주니 FLAG가 출력되었다.
반응형
'Hacking Contest' 카테고리의 다른 글
[Kipod After Free CTF 2019] (0) | 2019.12.24 |
---|---|
2019 X-MAS CTF (0) | 2019.12.18 |
[ByteBandits CTF 2019] Online Previewer 1 (0) | 2019.04.13 |
[ByteBandits CTF 2019] EasyPHP (0) | 2019.04.13 |
parse_url Hostname Bypass (SwampCTF Brokerboard Writeup) (0) | 2019.04.07 |