PHP Injection: 두 판 사이의 차이

IT위키
편집 요약 없음
편집 요약 없음
 
(다른 사용자 한 명의 중간 판 2개는 보이지 않습니다)
23번째 줄: 23번째 줄:
* php 설정을 통해 url기준으로 파일이 실행되지 않도록 한다.
* php 설정을 통해 url기준으로 파일이 실행되지 않도록 한다.
** php.ini에 allow_url_fopen 을 off로 설정
** php.ini에 allow_url_fopen 을 off로 설정
[[분류:보안]]
[[분류:정보보안기사]]
[[분류:보안 취약점]]
[[분류:보안 공격]]

2019년 6월 14일 (금) 23:09 기준 최신판

PHP 에서 구문 실행 취약점으로 공격자가 원하는 코드를 실행할 수 있는 취약점

PHP 뿐만 아니라 JSP, ASP와 같은 다른 서버사이드 언어에서도 발생 가능성이 있다. 그러나 대부분의 경우는 코딩을 아주 취약하게 하지 않는 이상 발생 가능성이 적다.

발생 가능한 코드[편집 | 원본 편집]

  • 아래 예의 경우 변수값 설정에 따라 특정 코드를 실행시키거나 특정 파일을 인클루드 하도록 조작할 수 있다.
$myvar = "varname";
$x = $_GET['arg'];
eval("\$myvar = \$x;");
$test = $_GET['dbset'];
include($test);

대응[편집 | 원본 편집]

  • 취약점이 발생하지 않도록 코딩한다.
    • 변수를 통해 값이 할당되거나, 인클루드 되거나, 파일이 실행되지 않도록 한다.
    • 필요한 경우 예상치 못한 파일이 열리지 않도록 조건문을 추가한다.
  • php 설정을 통해 url기준으로 파일이 실행되지 않도록 한다.
    • php.ini에 allow_url_fopen 을 off로 설정