1.OS Command Injection
공격자가 악의적인 명령어를 삽입하여 시스템 명령어를 실행시키는 기법
서버 운영체제에 접근하는 공격기법이다.
2.작동법
- 웹 애플리케이션의 입력 폼 또는 매개 변수에 공격자가 악성 명령어를 삽입
- 공격자가 삽입한 악성 명령어는 웹 서버가 실행 중인 운영 체제에서 실행
- 공격자는 원격으로 시스템 명령어를 실행하거나, 파일 시스템을 탐색하거나, 시스템 설정을 변경
3.예시
다음은 사용자가 입력한 검색어를 그대로 grep 명령어에 전달하여 실행하는 코드다.
<?php
// 사용자로부터 입력 받은 검색어를 실행하는 코드
$search_query = $_GET['query']; // 사용자 입력 (예: ?query=apple)
// 검색어를 이용하여 시스템 명령어 실행
$result = shell_exec("grep " . $search_query . " /var/log/apache2/access.log");
// 결과 출력
echo "<pre>$result</pre>";
?>
이 경우, grep 명령어는 ; 이후의 명령어(ls -la)도 함께 실행하게 되어 시스템 명령어 실행이 가능해진다.
grep ; ls -la /var/log/apache2/access.log
4.방어법
- 입력 유효성 검사
- 웹 애플리케이션 방화벽: 웹 애플리케이션 방화벽을 사용하여 악성 명령어를 탐지하고 차단
- 안전한 API 사용: API를 이용하여 안전하게 기능을 구현
'Computer Science > Security' 카테고리의 다른 글
[보안] 방화벽(firewall) (0) | 2024.06.29 |
---|---|
[보안] 버퍼 오버플로우 공격(Buffer Overflow Attack) (0) | 2024.06.29 |
[보안] DBD(Drive By Download)공격 (0) | 2024.06.29 |