※ 주의사항 :
악용하지 마세요!!!
해당 글은 연구 목적으로 기재하였습니다.
악의적인 목적으로 이용할 시 발생할 수 있는 법적 책임은 자신에게 있습니다.
( 1 ) preg_replace() 함수
mixed preg_replace ( mixed $pattern ,
mixed $replacement , mixed $subject [, int $limit [, int &$count ]] )
|
정규 표현식 검색과 치환을 수행하는 함수로 subject 를 검색하여 매치된 pattern 을 replacement 로 치환함.
참고로 patten 인자의 /e 옵션은 preg_replace()가 replacement 인자로 변환을 하고 PHP 코드로 취급하도록 함.
( 2 ) preg_replace() 함수를 이용한 PHP WebShell
< preg_replace() 함수를 이용한 PHP WebShell >
URL 입력 : hxxp://사이트 주소/webshell.php?c="명령어"
< 실행한 화면 >
해당 WebShell 코드를 보면 preg_replace() 함수를 이용하여 세 번째 인자 koromoon 문자열에서 첫 번째 인자 매치된 패턴 koromoon 을 backdoor 변수에서 받아지는 명령어로 변환함.
여기서 첫 번째 인자의 /e 옵션으로 인해 입력되는 명령어가 PHP 코드로 변환되어 실행하게 됨.
참고 사이트 :
https://www.php.net/manual/en/function.preg-replace.php
============================================================
본 게시물은 KOROMOON 님께서 작성하였으며 CCL (Creative Commons License) 에서 "저작자표시-비영리-동일조건변경허락" 이용조건으로 자료를 이용하셔야 합니다.
댓글 없음:
댓글 쓰기