php
PHP - 백도어 URL 공격
백도어 URL 은 URL를 통해 직접 리소스에 엑세스할 수 있는 것을 말합니다. 다음 예제 내용이 있다고 가정한다면, 상식적으로 test.php 파일을 접속하도록 되어 있지만, 이 백도어 URL은 cal.php 파일인 다이렉트로 접속해서 파일을 변조해 버립니다.
백도어 URL를 막기 위해 인쿠르드파일을 루트 바깥에 저장해 두거나 아니면 상수를 사용하는 방법이 있습니다. 이렇게 함으로써 직접적인 파일 접근을 차단할 수 있을 것입니다.
<?php
/*
test.php ----
*/
$auth = false;
$auth = @$_POST['userid'];
include "cal.php";
/*
cal.php
// ---------------------------------------------
$name = $auth;
echo $name;
--------------------------------------------- //
*/
?>
백도어 URL를 막기 위해 인쿠르드파일을 루트 바깥에 저장해 두거나 아니면 상수를 사용하는 방법이 있습니다. 이렇게 함으로써 직접적인 파일 접근을 차단할 수 있을 것입니다.
<?php
$auth = false;
$auth = @$_POST['userid'];
// 상수 정의
if(!defined("USER_URL")){
$salt = 'LEFTSALT';
$uniqid = uniqid();
$USER_URL = sha1(md5($salt . '_' . md5($uniqid . '_' . $salt)));
define("USER_URL", $USER_URL);
}
include "cal.php";
/*
cal.php
// ---------------------------------------------
if(!defined("USER_URL")){
echo "정상적인 방법으로 접근해 주세요.";
exit();
}
$name = $auth;
echo $name;
--------------------------------------------- //
*/
?>
0 댓글