Command injection이 발생하는 환경에 따른 취약점

1. 실행 결과를 확인할 수 없는 환경

Command Injection 취약점이 발생하여 명령어 실행은 가능 하지만 해당 공격의 결과를 볼수 없는 상황이 존재한다. 위 경우 다음과 같은 방법을 통해서 결과를 받을수 있다.

  1. Network Outbound Network Outbound의 경우 삽입할 명령어에 도구를 함께 실행하여 자신의 서버에 실행 결과를 전송하게 만드는 방법이다.
  2. Reverse & Bind shell Reverse & Bind shell은 공격자의 서버를를 외부에 공개하여 공격자가 타겟 서버로 접속하거나 타겟 서버가 공격자 서버로 접속하게 만들어 원격으로 명령어를 실행할 수 있도록 하는 방식이다. (이 경우 Pentest과정에서 모의해커의 취약점 분석으로 인해 해커들이 해당 bind 을 이용해 들어올수 있으므로 조심해야한다.)
  3. 파일 생성 애플리케이션에서 이미지 파일을 혹은 특정 파일에 명령어의 데이터를 저장하게 만들어 이미지 파일을 불러오는 기능을 이용해서 데이터를 외부로 가져올수 있다.

Network Outbound

telnet

CURL / WGET