따옴표(캐릭터) 우회
만약 따옴표(')가 필터링이 되어있는데, 캐릭터를 비교를 해야한다던가.. 하는 상황이 있다면
ascii 를 사용하시면 됩니다.
ascii는 캐릭터를 숫자로 바꿔주는 방식이므로, ascii(a) = 97 과 같은 형태로 따옴표없이도 비교할수 있습니다.
LIMIT 우회
인젝션을 할때 LIMIT이 필터링 되어있으면 상당히 걸리적거립니다.
그때 LIMIT을 우회하는 방법은, max(), min(), group_concat()을 사용하시면 됩니다.
사용법은 select max(컬럼) from ~~~ , select group_concat(컬럼) from ~~~ 와 같습니다.
max,min은 예상하시다싶이, 결과값중 가장 높은 줄 하나, 낮은줄 하나만 불러오는것이구요.
group_concat()을 이용해서 불러오면, 모든 레코드의 해당 컬럼값들이 하나의 스트링으로 붙어서 나옵니다.
"[첫번째 컬럼값],[두번째 컬럼값],..." 이런식으로 결과값이 나옵니다.
이를 이용해서 LIMIT 우회가 가능합니다
스트링 우회
따옴표나, admin, "." 등이 필터링이 되어있는데, 스트링을 꼭 써야 하는 상황이라면,
0x (hex)를 이용하시면 됩니다.
sql에서는 0x?????? 가 있으면 스트링으로 인식을 합니다.
예를 들어서 "admin"을 hex형식으로 바꾸면 "0x61646d696e" 이 됩니다.
즉, " select 'admin' " 대신 " select 0x61646d696e" 을 사용할수 있는거죠.
'Computer Security > Web' 카테고리의 다른 글
XSS subdomain escape wirte up (on Dropbox) (1) | 2015.05.05 |
---|---|
SQL injection addslashes, utf-8 변환시 우회법 (4) | 2013.01.21 |
LPAD,bin,ascii를 이용한 효과적인 Blind SQL Injection (3) | 2013.01.15 |
Time-based Blind Injection (0) | 2013.01.15 |
SQL Blind Injection (0) | 2013.01.15 |