분류 전체보기 77

SQL Injection 필터링 우회 방법 - 공백편

위와 같이 공백을 필터링하는 경우 우회 방법 (즉 띄어쓰기를 대신해서 사용하는 방법) 1) 개행 문자 \n - 커서를 다음 줄로 이동시키는 개행문자 - url encoding: %0a 2) Tab \t - 커서를 탭 하나만큼 이동시크는 문자 - url encoding: %09 3) 캐럿 return \r - 커서를 줄의 맨 왼쪽으로 이동시키는 문자 - url encoding: %0d 4) 주석 /**/ 5) 괄호 () - 띄어쓰기 대신 띄어쓰고 싶은 문자 양옆에 괄호 넣기 6) 더하기 + 7) %0b, %0c, %a0 - 위에 방법이 모두 실패할 경우 사용 - %0b: vertical tab - %0c: form feed

LOS (Lord of SQL injection) 문제 14번 giant write-up

문제 14번 - giant query : select 1234 fromprob_giant where 1 일단 다른 문제들과 마찬가지로 php 코드가 주어져있다. 먼저 필터링 함수를 확인해보면 shit을 받는 변수에 1보다 큰 크기의 문자열이 들어가면 안되고 공백, 엔터, \r, 탭을 필터링한다는 것을 알 수 있다. 추가로 i를 통해 대소문자를 구별하지 않는다는 것을 확인 할 수 있다. 또 clear 조건을 확인하기 위해 조건문 코드를 확인해보니 query문을 참으로 만들어줄 문자열(?)이 1234에 들어가면 clear가 된다는 것을 알 수 있다. 위에 조건들을 확인해보니 query문에 from과 prob 사이에 공백이 필요하다는 것을 알 수 있는데 shit에 공백을 의미하는 문자를 넣어주면 된다는 것을 ..

반응형
LIST