php parse_url bug #54369
2018. 7. 3. 15:02
에이프릴 이나은 인스타그램에서 갖고옴~~
[*] url : https://bugs.php.net/bug.php?id=54369
해당 버그는 fragment 안에 / (%2f) 가 존재할 때 Parsing Error 가 뜬다는 버그이다. 생각보다 PHP 자체의 버그는 쉽게 터진다는 사실을 알게 되었다..ㅋㅋㅋ 하긴 근데 parsing 이라는 것 자체가 예외처리를 제대로 해주지 않으면 많은 버그가 생길 수 있겠지.
Description: ------------ Attached patch fixes the issue. Test script: --------------- $url = 'http://www.example.com#fra/gment'; echo $url . "\n"; var_dump(parse_url($url)); $url = 'http://www.example.com?p=1/param'; echo $url . "\n"; var_dump(parse_url($url)); // No host, should return false $url = 'http://#fra/gment'; echo $url . "\n"; var_dump(parse_url($url)); // No host, should return false $url = 'http://?p=1/param'; echo $url . "\n"; var_dump(parse_url($url)); Expected result: ---------------- http://www.example.com#fra/gment array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(15) "www.example.com" ["fragment"]=> string(9) "fra/gment" } http://www.example.com?p=1/param array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(15) "www.example.com" ["query"]=> string(9) "p=1/param" } http://#fra/gment bool(false) http://?p=1/param bool(false) Actual result: -------------- http://www.example.com#fra/gment array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(19) "www.example.com#fra" ["path"]=> string(6) "/gment" } http://www.example.com?p=1/param array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(19) "www.example.com?p=1" ["path"]=> string(6) "/param" } http://#fra/gment array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(4) "#fra" ["path"]=> string(6) "/gment" } http://?p=1/param array(3) { ["scheme"]=> string(4) "http" ["host"]=> string(4) "?p=1" ["path"]=> string(6) "/param" }
'Hacking > Web.' 카테고리의 다른 글
워게임 아이디어 (0) | 2018.07.11 |
---|---|
i0n1c object injection bypass (0) | 2018.07.09 |
php parse_url bug #74780 (0) | 2018.07.03 |
PHP iconv file upload bug (0) | 2018.04.03 |
CTR 웹해킹 문제 풀 때 확인해야하는 것들 (0) | 2018.03.02 |