정보보안공부
[Root-Me] SQL injection - String 본문
이문제도 마찬가지로 DB가 sqlite를 사용하고 있다. Blind Sql 로도 가능하지만 Union Sql도 가능하기 때문에 Union Sql Injection으로 풀어보겠다.
[컬럼 개수 확인]
- order by 또는 union select 를 이용해 조회가능한 컬럼 개수가 몇개인지 확인한다.
[테이블 개수 확인]
- count를 이용해 테이블 개수를 확인한다.
[테이블 조회]
- limit를 이용해 테이블을 하나씩 차례대로 조회한다.
[컬럼 조회]
- limit 또는 like 구문을 이용해 테이블의 컬럼을 조회한다.
[데이터 조회]
- 문자열을 이어주는 연산자( || %7c%7c )를 사용하여 데이터를 조회한다.
- "아이디(공백)비밀번호" 형태로 데이터가 조회된다.
#테이블 조회
select tbl_name from sqlite_master
#컬럼 조회
select sql from sqlite_master where sql like '%테이블이름%'
#관련 함수
length, substr, unicode, char, ||(%7c%7c), limit
'Web > RootMe' 카테고리의 다른 글
[Root-Me] SQL injection - Filter bypass (0) | 2020.02.18 |
---|---|
[Root-Me] SQL injection - Blind (0) | 2020.02.18 |
[Root-Me] SQL injection - Numeric (0) | 2020.02.18 |
[Root-Me] PHP Filters (0) | 2020.02.13 |
[Root-Me] Insecure Code Management (0) | 2020.02.13 |
Comments