level 15에 들어가기 앞서 RCE를 이용(?)해서 flag 값을 도출 할 수 있을 것 같은 힌트가 보였다..

 

우리가 값을 넣으면 create_function -> $fun -> $success 를 출력하게 된다.

우리는 create_function이라는 함수를 봐야한다.

create_function은 매개변수를 전달받아 익명 함수를 생성하는 함수이다.

이때 잘못된 방법으로 사용할  시 RCE 취약점이 발생하게 되는데 위 소스코드 처럼 두번째 인자에 임의적인 값을 주입하여 원하는 코드를 실행시킬 수 있게된다.

 

 

 

위와 같이 return -1;} print_r($flag); /* 값을 넣으면 flag 값을 얻을 수 있었다.

 


참조

https://blog.jhyeon.dev/2020/05/15/function-rce-200515/

 

create_function() RCE 취약점 정리

개요create_function 함수는, php.net(https://www.php.net/manual/en/function.create-function.php) 에 정의된 내용으로, 매개변수를 전달받아 익명 함수를 생성하는 함수 입니다. 함수 정의해당 함수는 아래와 같이 사

blog.jhyeon.dev

 

'워게임 > Websec.fr' 카테고리의 다른 글

[websec.fr] easy - Level 13  (0) 2021.09.12
[websec.fr] easy - Level 11  (0) 2021.08.22
[websec.fr] babysteps - Level 04  (0) 2021.07.18
[websec.fr] easy - Level 08  (0) 2021.07.14
[websec.fr] easy - Level 02  (0) 2021.07.11
복사했습니다!