정보보안공부
[Root-Me] SQL injection - Blind 본문
Numeric 문제에서 이미 Blind Sql Injection으로 문제를 풀어보았으나sqlite는 모든 테이블 조회시 sqlite_master 테이블을 사용하며 컬럼명 조회 시 sql 컬럼의 데이터 안에 사용되는 컬럼명이 적혀있음을 검색으로 확인했다. 그 이후에 참 거짓을 이용한 Blind SQL Injection 구문을 작성해보았다.
[참 / 거짓 판별]
- 참 거짓을 통해 SQL Injection 가능성 여부 판별
[테이블 개수 확인]
[테이블 길이]
- 참 거짓을 통해 테이블 길이 조회
[테이블 확인]
- 조회된 테이블 길이를 참고하여 파이썬으로 코드 작성 후 테이블 조회
[컬럼 길이 확인]
- 참 거짓을 통해 컬럼 길이 조회
[컬럼 확인]
- 조회된 테이블 길이를 참고하여 파이썬으로 코드 작성 후 컬럼 조회
[데이터 확인]
- 조회한 테이블, 컬럼명을 통해 파이썬으로 코드 작성 후 테이블 내 모든 데이터 조회
#테이블 조회
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 - Error (0) | 2020.02.19 |
---|---|
[Root-Me] SQL injection - Filter bypass (0) | 2020.02.18 |
[Root-Me] SQL injection - String (0) | 2020.02.18 |
[Root-Me] SQL injection - Numeric (0) | 2020.02.18 |
[Root-Me] PHP Filters (0) | 2020.02.13 |
Comments