PHP Functuion (mysql_real_escape_string OR Magic Quotes) Bypass
Web/Web Hacking Techniques
두 함수는 무슨 역할을 하는 함수인가?두 함수의 공톰점은 PHP에서 사용되는 함수이며, 주로 SQL Injection 을 방지하기 위해 사용되는 함수이다. 쉽게 설명해서 입력값에 ‘(싱글쿼터), “(더블쿼터), (역슬래쉬), 등등 악의적인 쿼리로 이어질 수 있는 입력값이 들어오면 이스케이프 문자인 (역슬래쉬)를 자동으로 붙여 공격을 방지한다. mysql_real_escape_string 함수의 경우 PHP 7.0.0 버전 이전에 사용되었으며, 이후 버전에서는 사용되지 않으며, 7.5.0 이후의 버전부터는 완전히 삭제되었다. 또한 Magic Quotes 함수 또한 PHP 5.3.0 버전부터 비활성화 되어 5.4.0 버전 이후에 완전 제거 되었다.Bypass입력값 앞에 자동으로 \가 생성되지만, 이 때 \앞..
PHP Type Juggling Magic Hash
Web/Web Hacking Techniques
Type Juggling 이란?PHP는 Python, Javascript와 같은 언어와 동일하게 동적 언어이다. 이는 프로그램이 실행되는 동안 변수 유형을 검사하게되는데, PHP에는 Type Juggling라는 기능이 존재한다. 다양한 유형의 변수를 비교하는 동안 PHP는 공통적이고 비교 가능한 유형으로 변환시킨다. 즉 정수 7과 문자열”7”을 비교할 때 7 == “7” 은 True를 반환하게 된다. 다른 경우로 “7 apple” == 7 이 또한 True를 반환하게된다. 이는 == 를 통한 비교를 수행하기 떄문에 발생하는 취약점이다. PHP 에서는 두 값을 비교하는 방식으로 == 와 === 이 존재한다. 위 그림을 보게 되면, == 방식을 사용하여 비교하는 경우매우 느슨하게 두 값을 비교하며, 다양한 ..