대부분의 애플리케이션 제작 목적의 언어의 경우 시스템의 내장된 프로그램 호출 함수를 지원한다.
대표적인 함수는 다음과 같다.
-php
<?php
exec() //외부 명령을 실행하고 실행 결과를 반환
shell_exec() //외부 명령을 실행하고 실행 결과를 반환
system() //외부 명령을 실행하고 실행 결과를 화면에 출력
passthru() // 외부 명령을 실행하고 명령의 출력을 화면에 전달
backticks (``) //외부 명령을 실행하고 결과를 반환
?>
-Node.JS
child_process();
-python
os.system()
위 함수들을 사용할 경우 쉘 프로그램을 통해서 그 명령을 실행 하게 되는 것이다.
Commend Injection
: 악의적인 명령을 삽입하여 시스템 명령어로 실행하도록 하는 취약점
발생 원인
명령어를 실행하는 함수에 임의의 값을 전달 가능할경우 발생
위와 같은 함수는 &&, ;, |등의 문자를 통해 여러 명령어를 한번에 실행 가능하다.
php에서 passthru함수를 통해 제작한 one line web shell을 사용하였다.
위의 웹 쉘에 명령어를 입력한 결과이다.
반면 다음과 같이 한번에 여러 명령어의 실행 또한 확인이 가능하다.
'모의해킹 및 보안' 카테고리의 다른 글
File Upload 시나리오 : webshell, shoutdown etc. (0) | 2023.06.03 |
---|---|
Directory Traver Attack (0) | 2023.06.03 |
Netcat (0) | 2023.06.02 |
File Upload Vulnerability Summary (0) | 2023.06.02 |
NoSQL Injection (0) | 2023.05.31 |