2010-05-24 2 views
2

내가 php 파일을 가지고 있다고 가정 해 봅시다. test.php는 test1()과 test2()의 두 가지 기능을 가지고 있습니다.누군가 내 라이브러리에서 PHP 기능을 실행할 수 있지만 열어 본 페이지에서 호출 할 수 있습니까?

코드에 include (test.php)가 포함 된 외부 PHP 파일 인 index.php가있는 경우. index.php 파일에 test2()가 아닌 test1()에 대한 참조가있는 경우 index.php 파일을 사용하는 동안 누군가가 test2()를 실행할 수있는 방법이 있습니까?

+2

아니요 (단시간의 답변에 대해서는 평판이 좋지 않으므로 답변을 드리지는 못합니다.) –

답변

3

임의의 코드를 실행할 수있는 유일한 방법은 code injection 취약점입니다.

<?php 

$runthis = $_GET["runthis"]; 

$runthis(); 

그래서 공격자가 http://example.com/index.php?runthis=test2로 스크립트를 호출 할 수 후 당신의 test2() 기능을 실행합니다 :

다음은 지나치게 단순한 예입니다.

위에 링크 된 위키피디아 문서 또는 OWASP 사이트의 코드 삽입에 대해 자세히 알아보십시오.

1

"사용"이라고 말하면 브라우저에서 최종 사용자를 의미합니까? 아니요, 그들은 임의의 코드를 실행할 수 없습니다.

관련 문제