보안세상

SQL Injection utf-8변환시 우회기법 본문

공부

SQL Injection utf-8변환시 우회기법

똔민 2015. 6. 23. 23:38
반응형

euc kr과 utf 8변환 작업의 경우 multy byte를 이용해서 우회가 가능하다.

(php의 addslashes(string str)함수는 매개변수로 넘겨준 문자열 안에 "나"라는 문자열이 있을 경우 앞에 \를 추가하여 주는 함수 이다.결론적으로 php와 mysql간의 연동시 필수적으로 해줘야 한다.

조금 깊게 들어가면 보통 db에 쿼리문을 보낼떄 ""또는 "로 한 문자열을 인식하게 되는데

이미 문자열에서 ""또는  "가 있다면 문자열이 2개이상으로 나뉘어져버린다.

그럼 보내야 되는 문자열은 1개인데 2개이상으로 인식해 쿼리문이 에러가 난다.

하지만 

addslashes() 명령어를 쓰면 "나"문자열 앞에 전부 \를 붙혀줌으로써

\', \"의 명령어는 데이터베이스에서 와로 인식되 나뉠 문자열이라 생각해 인식하지 않는다.)

본론으로 가서 예를들자면

URL인코딩 구문으로 %qq%23을 보낸다면 (%23이 quote)

%qw%qe%23 로 변하게 되고, (%qe가 \)

결국 %qw%qe가 한글자로 읽힌다.(이유: 유니코드)

그리고 %23이 \의 간섭을 안받기 때문에 sql injection 가능

반응형

'공부' 카테고리의 다른 글

javascript event H  (0) 2015.06.24
MYSQL Injection 에 quote 우회법  (0) 2015.06.23
MYSQL INJECTION 실행 절차  (0) 2015.06.23
SQL Injection의 우회 패턴 종류  (0) 2015.06.23
SQL인젝션(sql injection) 우회 패턴  (0) 2015.06.23
Comments