Hacking/Web.

php parse_url bug #74780

2018. 7. 3. 14:58



요즘 ch4n3 메타 특징 : 블로그 시작에 에이프릴 이나은 사진 올림


이러한 버그이다. 보통 url 중에 //test.com/ 이렇게 쓰여진 url 을 볼 수 있는데 (특히 <a> 태그에서) 이러한 url 은 앞에 http://가 자동으로 붙으며 해석된다. 이 형식의 url을 파싱하지 못하는 버그이다. 생각보다 간단한 버그라서 나중에 CTF 문제 풀 때 유용할 것 같다.


[*] url : https://bugs.php.net/bug.php?id=74780


 Description:

------------
When query string contains : (colon) parse_url() fails parses relative URIs improperly (like it happened before 5.4.7).

For 5.6 or older: If query string contains e.g. `a=1:337` then `port` will be `337`, when it's e.g. `a=b:c` then the port is correct.

https://3v4l.org/aBfGB

Test script:
---------------
<?php

var_dump(
    parse_url('//php.net/manual/en/function.parse-url.php?v=1:337')
);

Expected result:
----------------
array(3) {
  ["host"]=>
  string(7) "php.net"
  ["path"]=>
  string(33) "/manual/en/function.parse-url.php"
  ["query"]=>
  string(7) "v=1:337"
}

Actual result:
--------------
array(2) {
  ["path"]=>
  string(42) "//php.net/manual/en/function.parse-url.php"
  ["query"]=>
  string(7) "v=1:337"
}



'Hacking > Web.' 카테고리의 다른 글

i0n1c object injection bypass  (0) 2018.07.09
php parse_url bug #54369  (0) 2018.07.03
PHP iconv file upload bug  (0) 2018.04.03
CTR 웹해킹 문제 풀 때 확인해야하는 것들  (0) 2018.03.02
XXE to SSRF  (0) 2018.02.15