본문 바로가기

Security

MySQL Injection에서 LIMIT, quote(따옴표) 우회법 따옴표(캐릭터) 우회 만약 따옴표(')가 필터링이 되어있는데, 캐릭터를 비교를 해야한다던가.. 하는 상황이 있다면ascii 를 사용하시면 됩니다.ascii는 캐릭터를 숫자로 바꿔주는 방식이므로, ascii(a) = 97 과 같은 형태로 따옴표없이도 비교할수 있습니다. LIMIT 우회 인젝션을 할때 LIMIT이 필터링 되어있으면 상당히 걸리적거립니다.그때 LIMIT을 우회하는 방법은, max(), min(), group_concat()을 사용하시면 됩니다. 사용법은 select max(컬럼) from ~~~ , select group_concat(컬럼) from ~~~ 와 같습니다.max,min은 예상하시다싶이, 결과값중 가장 높은 줄 하나, 낮은줄 하나만 불러오는것이구요. group_concat()을 이.. 더보기
SQL Blind Injection 제가 여기저기서 조금조금씩 주워듣고 해본것들을 정리하는것이기 때문에, 일반적인 용어가 아닐수도 있습니다.그리고, 문법은 MySQL을 기준으로 설명하겠습니다. (물론, 다른 SQL에서도 문법만 조금 달리하여 사용 가능합니다.) Blind Injection이란 True or False의 결과값을 이용하여 DB의 내용을 알아내는 기술을 말합니다. 예를 들어서 설명을 해보겠습니다. 어떤 테이블이 있고, search 기능을 통해 특정한 num을 불러오는 기능이 있다고 할때 그 search의 쿼리문은 select * from table where num=[원하는 번호] 대충 이런형태 일것입니다. 그러면, 만약 원하는번호에 "1 and 1=1 #" 를 넣는다면,select * from table where num=1.. 더보기