정보보안
Blind in jection
53C
2020. 9. 2. 00:06
반응형
Blind in jection
오류메세지가 보이지 않는 사이트에서 SQL 쿼리의 참/거짓 동작만으로 DB 구조를 파악하는 공격기법이다.
SQL Injection 공격의 경우 조작된 쿼리를 입력해서 원하는 데이터를 얻을수 있지만
Blind SQL Injction은 쿼리 결과에 따른 서버의 참과 거짓 반응을 통해서 공격을 수행한다.
즉, 쿼리에 대한 결과가 참일때와 거짓일 때 서버에 반응이 나타나야 하며 이를 구분할 수 있어야 한다.
Blind SQL injection 은 위 두 함수를 이용하여 쿼리의 결과를 얻어 한 글자씩 끌어온 값을 아스키코드로 변환시키고 임의의 숫자에 대해서 참과 거짓을 비교하는 과정을 반복하여 일치하는 아스키 코드를 찾아낸다.
최종 결과들을 조합하여 원하는 정보를 얻어낸다.
반복과정이 이루어지기 때문에 자동화된 툴을 제작하거나 이용한다.
SQL Injection공격전 SQL 쿼리에 사용되는 변수를 찾을 때 Paros툴을 이용하면 자동으로 찾을수 있다.
Blind SQL Injection의 기본 함수
1. sudstr
sudstr은 문자열을 자를 때 사용하는 함수이다.
sudstr(자를 문자열, 자를 문자의 시작점, 자를 문자 개수)
ex) str = substr(“HelloWorld”,1,3)
str = Hel
2. ascil
ascil 함수는 문자의 아스키 코드 값을 반환해주는 함수이다.
ascii(아스키코드로 반환 할 문자)
ex) ascii(a)
=97
반응형