보안세상
MYSQL Injection 에 quote 우회법 본문
반응형
quote 우회
따음표(')가 필터링이 되어있는데, 캐릭터를 비교 해야 한다면 아스키를 사용하면 된다.
ascii는 문자열을 숫자로 바꿔주므로 ascii(a) = 97 과 같은 형태로 quote없이 비교 가능
Limit 우회
인젝션시 Limit필터링이 걸려있다면 귀찮아 진다.
( SELECT 구문에서WHERE, ORDER BY, LIMIT, OFFSET에 사용되기 때문
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