Loading [MathJax]/jax/output/HTML-CSS/config.js
본문 바로가기
보안

Chapter 08. Command 인젝션 공격

qbang 2019. 2. 28.

 

Chapter 08. Command 인젝션 공격

 

커맨드 인젝션 공격 개요

 

- 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 명령어를 실행하는 것

 

ping x.x.x.x; cat /etc/passwd

 

- 세미콜론을 이용한 추가 명령 실행, etc/passwd 파일은 리눅스 사용자 목록이 들어있는 파일

 

 

 

커맨드 인젝션 공격 실습

 

- 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당

 




 

- 2의 경우 시스템 명령어를 내리는 함수임, target 변수는 1ip(‘-c’ 옵션은 핑 몇 번 떄릴지 설정하는 것임)

 

 

 

- ping -c 4 127.0.0.1; ls를 실행하면 디렉토리 내용이 출력됨

 

 

 

- ping 명령어 결과가 표시되는 게 아니라 디렉토리가 출력됨

 

; cat /etc/passwd

 

 

 

- 리눅스를 대상으로 파라미터에 ; 등의 특수문자와 함께 시스템 명령어를 입력하여 커맨드 인젝션을 시도하고 윈도우의 경우 &&를 사용

 

 

 

커맨드 인젝션 공격 대응

 

- 소스코드에서 exec() system()과 같은 직접적으로 명령어를 실행하는 함수 지양 -> 라이브러리 이용

system(“mkdir $dir_name”)이 아닌 mkdir($dir_name)

 

 

 

해당 포스팅은 '화이트해커를 위한 웹 해킹의 기술' 책 내용을 바탕으로 작성되었습니다.

'보안' 카테고리의 다른 글

Chapter 10. XSS 요청 변조(CSRF) 공격  (0) 2019.03.01
Chapter 09. XSS 공격  (0) 2019.03.01
Chapter 07. SQL 인젝션 공격  (0) 2019.02.28
Chapter 06. 취약한 인증 공격  (0) 2019.02.27
Chapter 05. 정보 수집  (0) 2019.02.27