1. 개요
union sql injection, sqlite 문제
2. 분석
힌트로 sqlite 라고 주어졌습니다.
sql 수행결과를 보여주는데, ' or 1 = 1 -- 을 admin,password에 넣어서 조건을 항상 참으로 만듭니다.
(--는 sqlite에서 뒤의 구문을 주석 처리합니다)
로그인을하면 이러한 화면이 나오는데, 전형적인 쉬운 union sql injection 문제처럼 생겼습니다.
union 에 들어가는 칼럼의 개수를 1개씩 늘려보면서 union 앞에 작성된 조회 구문의 칼럼 개수가 몇개인지 찾습니다.
' union select 1, 2, 3 --
3개일때 조회되어서, union 앞에 작성된 조회 구문의 칼럼 개수는 3개입니다.
' union select type, sql, 3 from sqlite_master --
sqlite_master에서 실행된 sql 목록을 조회하고, 어떤 테이블이 있는지 확인합니다. more_table에 flag라는 칼럼이 있으니 확인해봅니다.
flag를 찾았습니다.
' union select id, flag, 3 from more_table --
'pico CTF' 카테고리의 다른 글
[picoCTF] SQL Direct (0) | 2023.04.29 |
---|---|
[picoCTF] SOAP (0) | 2023.04.29 |
[picoCTF] find me (0) | 2023.04.29 |
[picoCTF] caas (0) | 2023.04.28 |
[picoCTF] X marks the spot (0) | 2023.04.28 |