반응형

https://bugs.php.net/bug.php?id=55511


위에 링크를 참조하자.



이 버그는 php쪽에서 접수를 받았음에도 처리가 안되었다고 한다. (묵살)



어떻게 발생하는 버그인지 알아보도록 하자!




 $url = parse_url($_SERVER['REQUEST_URI']);


위와 같은 php 구문이 있다고 보고 분석을 해보자.




먼저 $_SEVER['REQUEST_URI'] 는 $_SERVER['QUERY_STRING']과 같은(?) 역할을 하는데,


QUERY_STRING은 GET인자로 넘길 때 ?뒤에 값들을 전부 리턴하고


REQUEST_URI도 ?뒤에 값들을 전부 리턴한다.



근데 문제는 parse_url에서 발생한다.


이 함수는 URL을 parse하기위해 만들어진 함수라서 최대한 URL형태로 보고 parse한다고 한다.


거기서 발생하는 버그이다.



parse_url함수는 parse실패시 false를 반환하게 된다는 점이다.


만약 필터링을 하는 곳에서 parse_url함수를 사용한다면 얼마든지 우회가 가능하며,


사용을 하지 말아야할 함수 중 하나다.

'Web > 공부' 카테고리의 다른 글

Blind SQL Injection  (0) 2014.10.31
Error Based SQL Injection  (0) 2014.10.31
블로그 이미지

KuroNeko_

KuroNeko

,