보안세상

MYSQL Injection 에 quote 우회법 본문

공부

MYSQL Injection 에 quote 우회법

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

quote 우회


따음표(')가 필터링이 되어있는데, 캐릭터를 비교 해야 한다면 아스키를 사용하면 된다.

ascii는 문자열을 숫자로 바꿔주므로 ascii(a) = 97 과 같은 형태로 quote없이 비교 가능


Limit 우회

인젝션시 Limit필터링이 걸려있다면 귀찮아 진다.

( SELECT 구문에서WHERE, ORDER BY, LIMITOFFSET에 사용되기 때문

ex)<?php


$query  
"SELECT id, name, inserted, size FROM products
                  WHERE size = '
$size'
                  ORDER BY 
$order LIMIT $limit$offset;";
$result odbc_exec($conn$query);

?>

))

이럴때는 group_concat() , max() , min() 를 사용 하면 된다.

select max from~~~~~~

select group_concat ~~~~~~~~


group_concat()을 이용해 값을 불러오면, 해당 레코드의 값들이 하나의 스트링 뭉쳐져 나온다.

(first 값)(second 값) 처럼 나온다.


string 우회

quote나 admin "." 필터링이 되어있고 string을 사용 해야 하는 상황이라면

hex를 이용하면 된다.

db에서는 0x????????(hex)가 있으면 string으로 인식하기 떄문

예르들어  "admin을" = 0x123123e" hex형식으로 바꾸면 

select admin 대신 select 0x123123e를 적는 방법이 있다.

반응형

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

MSSQL STRING 관련 함수  (0) 2015.06.24
javascript event H  (0) 2015.06.24
SQL Injection utf-8변환시 우회기법  (0) 2015.06.23
MYSQL INJECTION 실행 절차  (0) 2015.06.23
SQL Injection의 우회 패턴 종류  (0) 2015.06.23
Comments