Non alphabet
-
[PHP] WAF Bypass : Non-Alphabets CodeStudy/Web 2021. 1. 11. 17:55
웹 서버의 권한을 얻기 위해 웹 쉘을 이용하는 경우가 많다. 이때, 해당 WAF에서 RCE를 유발할 수 있는 문자를 포함한 코드를 차단한다. RCE를 유발할 수 있는 코드의 예시를 들자면, 아래의 코드와 같이 원하는 인자로 원하는 함수를 실행할 수 있는 코드이다. 해당 코드에서 원하는 함수를 실행할 수 있는 이유는 PHP에서는 가변 함수의 개념을 지원하여 변수나 문자열을 이용하여 함수를 호출할 수 있기 때문이다. PHP 실행 함수 - system() - shell_exec() - eval() - exec() - passthru - etc... 공격자 마음대로 함수를 실행할 수 있다면 보안상 위험하기 때문에 아래 코드와 같이 특정 함수 이름 등을 필터링하여 방어할 수 있다. 이러한 필터링을 우회하기 위해서..