정보보안공부
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ohwBP/btqB5F0N7Pj/YDkIAphowGwVKkEYJ4Oge0/img.png)
위 문제가 에러 기반의 SQL Injection으로 알고있어서 floor와 rand를 결합한 인젝션 쿼리를 날렸는데 Hint를 보여주어 형변환과 관련된 함수를 찾아본 결과 cast 함수를 이용해 쿼리를 작성했다. [floor, rand 에러구문] [테이블 조회] - cast 함수를 사용하여 쿼리 작성 - where table_type='base+table' 작성 시 쿼리가 실행되지 않아 우회하려 했으나, 실패함.. ( 방법을 찾는중 ) - 문제는 풀어야하므로 가장 수상한 첫번째 테이블 "m3mbr35t4bl3" 확인 [컬럼 조회] - cast 함수를 사용하여 쿼리 작성 - where table_name='m3mbr35t4bl3' 작성 시 쿼리가 실행되지 않아 우회하려 했으나, 실패함.. ( 방법을 찾는중..
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcXAm8/btqB6J11kh4/m7FQkMAwNkAjkkR0Vc2O0K/img.png)
Numeric 문제에서 이미 Blind Sql Injection으로 문제를 풀어보았으나sqlite는 모든 테이블 조회시 sqlite_master 테이블을 사용하며 컬럼명 조회 시 sql 컬럼의 데이터 안에 사용되는 컬럼명이 적혀있음을 검색으로 확인했다. 그 이후에 참 거짓을 이용한 Blind SQL Injection 구문을 작성해보았다. [참 / 거짓 판별] - 참 거짓을 통해 SQL Injection 가능성 여부 판별 [테이블 개수 확인] [테이블 길이] - 참 거짓을 통해 테이블 길이 조회 [테이블 확인] - 조회된 테이블 길이를 참고하여 파이썬으로 코드 작성 후 테이블 조회 [컬럼 길이 확인] - 참 거짓을 통해 컬럼 길이 조회 [컬럼 확인] - 조회된 테이블 길이를 참고하여 파이썬으로 코드 작성 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HlgES/btqB3qI5Sf2/K1nRZcvYXbiAjMfFiWbXy1/img.png)
이문제도 마찬가지로 DB가 sqlite를 사용하고 있다. Blind Sql 로도 가능하지만 Union Sql도 가능하기 때문에 Union Sql Injection으로 풀어보겠다. [컬럼 개수 확인] - order by 또는 union select 를 이용해 조회가능한 컬럼 개수가 몇개인지 확인한다. [테이블 개수 확인] - count를 이용해 테이블 개수를 확인한다. [테이블 조회] - limit를 이용해 테이블을 하나씩 차례대로 조회한다. [컬럼 조회] - limit 또는 like 구문을 이용해 테이블의 컬럼을 조회한다. [데이터 조회] - 문자열을 이어주는 연산자( || %7c%7c )를 사용하여 데이터를 조회한다. - "아이디(공백)비밀번호" 형태로 데이터가 조회된다. #테이블 조회 select t..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dwdKnA/btqB3VWoBVM/eck7QKKExzAKUageGVrya1/img.png)
먼저 문제를 풀기위해 에러를 통해 DB를 확인한 결과 평소 다뤄보지 않은 Sqlite를 사용하고 있음을 확인했다. sqlite는 모든 테이블 조회시 sqlite_master 테이블을 사용하며 컬럼명 조회 시 sql 컬럼의 데이터 안에 사용되는 컬럼명이 적혀있음을 검색으로 확인했다. 그 이후에 참 거짓을 이용한 Blind SQL Injection 구문을 작성해보았다. [참 / 거짓 판별] - 참 거짓을 통해 SQL Injection 가능성 여부 판별 [테이블 길이] - 참 거짓을 통해 테이블 길이 조회 - 2개의 테이블에 대한 길이 확인 [테이블 확인] - 조회된 테이블 길이를 참고하여 파이썬으로 코드 작성 후 테이블 조회 [컬럼 길이 확인] - 참 거짓을 통해 컬럼 길이 조회 - 싱글쿼터가 막혀있으므로 ..
보호되어 있는 글입니다.
보호되어 있는 글입니다.