sql 인젝션시 숫자가 어떻게든 필요한데 숫자가 다 막혀있을경우...
더군다나 수학 함수도 다 필터링되어있을 경우 환경변수에서 뽑아서 만들면 됩니다.
mysql같은경우 show variables;명령어로 환경변수 확인 가능.
tmp_table_size 같은 경우 뭔가 숫자가 많아서 하나씩 뽑아내거나 하기 편하겠네요.
환경변수는 @@로 호출. 환경변수에서 필요한 수 뽑아내는 예제.
조금 공부해보신분들은 아시겠지만 substr이 막혀있으면 left,right나 mid같은걸로도 됩니다.
위에 적은 예제처럼 수학 함수로 변형해서 뽑아오거나 또는....
1^1 == 0, 같은문자^같은문자 == 0 숫자는 막혀있다고 가정했으니 문자로 해도 됩니다.
1 like 1 ==1, 같은문자 like 같은문자 == 1 마찬가지입니다.
그런 정리된 문서는 많으니 찾아보시길..
15.07.15추가.
환경변수는 information_schema.global_variables 안에 들어있다. 즉
select * from information_schema.global_variables; 같은 쿼리에서 인자를 변화시켜 원하는 숫자나 문자가 어느 변수에 있는지 알기 쉽다는것이다.
ex) 'o'라는 문자가 들어간 변수를 찾고싶다.
select * from information_schema.global_variables where position('o' in VARIABLE_VALUE);
'webhacking > sql, sql injection' 카테고리의 다른 글
시간 기반 sql 인젝션. (0) | 2014.08.22 |
---|---|
효율적인 블라인드 인젝션 (0) | 2014.08.20 |
webhacking.kr 7번 소스코드 (0) | 2014.08.19 |
webhacking.kr 7번 (0) | 2014.08.19 |
rubiya님의 문서 (2) | 2014.08.15 |