PHP 5.3.0부터 POSIX Regex 대신 PCRE Regex가 사용된다. (PHP 6.0부터 완전 제거) 자세한 내용은 아래를 참고하면 된다. http://php.net/manual/en/reference.pcre.pattern.posix.php As of PHP 5.3.0, the POSIX Regex extension is deprecated. There are a number of differences between POSIX regex and PCRE regex. This page lists the most notable ones that are necessary to know when converting to PCRE. The PCRE functions require that the pa..
PHP 5.3 이상 버전에서 strcmp() 함수를 이용하여 비교를 할 경우에 발생할 수 있는 취약점 ID: PW: Colored by Color Scripter cs 위와 같이 id와 pw를 입력하여 인증할 수 있는 창이 있다. 여기에서 strcmp($pass, $pw) == 0 이 부분에 취약한 부분이 있다. 일반적으로 strcmp($str1, $str2)를 비교하여 str1이 str2보다 작으면 0보다 작은 값을 반환하고, str1이 str2보다 크면 0보다 큰 값을 반환한다. 그리고 동일할 경우에 0을 반환한다. 그렇기 때문에 id는 admin, pw는 php_strcmp_vulnerability를 입력해주면 $pass와 $pw가 같기 때문에 0을 반환해서 $pass 값을 출력하게 된다. id와 ..
PHP Object Injection PHP magic methodsPHP 클래스에는 magic functions라 불리는 특별한 메소드가 있다.magic functions은 이름을 보면 '__' 으로 시작하는 특징이 있다.__construct(), __destruct(), __toString(), __sleep(), __wakeup(), ... __construct()클래스의 생성자새로운 Object가 생성될 때마다 메소드 호출 __destruct()클래스의 소멸자PHP Script가 끝나면 무작위로 메소드 호출특정 Object 모든 참조가 삭제된 직후 또는 Object가 명시적으로 파기된 후 메소드 호출 construct_destruct.php:Colored by Color Scriptercs __t..