해당 문제는 로컬파일을 도커에 올려 풀이를 진행하였다.
해당 문제 소스부분이다.
KU-CTF 중 ForceLogin1 문제와 매우 유사하지만 table항목이 추가적으로 있다는 점을 알 수 있다.
그리고 banlist도 약간 다르다는 것도 알 수 있다.
source 부분 중에서도 table 항목에서 sql injection을 해야한다고 생각을 들었다.
그리고 출제자가 mssql이라는 것을 힌트를 얻어 문제를 풀어 보겠다.
MS SQL 공식 문서를 이용해 찾던 중 위와 같은 구문이 있다는 것을 알 수 있었다.
그래서 위와 같은 형식을 이용해보기로 했다.
(values (admin,1)+as+MyTable(id,password)&id=admin&pass=1이라는 구문을 얻을 수 있었다.
그리고 저번 1번 문제 경험을 삼아 admin을 진수인코딩을 해서 0x61646D696E로 변환시켰다.
그렇게 구문은 T=(values (0x61646D696E,1)+as+MyTable(id,password)&id=admin&pass=1로 입력하였다.
그 결과, admin 계정으로 flag값을 얻을 수 있는 것을 확인할 수 있었다.
'Web Security' 카테고리의 다른 글
KU-CTF ForceLogin1 (0) | 2023.05.02 |
---|---|
KU-CTF ForceLength (0) | 2023.03.28 |
KU-CTF PingService (0) | 2023.03.28 |
KU-CTF newapi (0) | 2023.03.26 |
Linux Wildcard란? (0) | 2023.03.21 |