운영 체제 명령 주입

운영 체제 명령 주입이란 무엇입니까?

운영 체제 명령 주입은 권한 없는 운영 체제 명령을 실행할 수 있는 웹 보안 취약점입니다. 운영 체제 명령 삽입 취약점은 웹 응용 프로그램이 실행될 비관리화,필터링되지 않은 시스템 명령을 보낼 때 발생합니다. 불충분 한 입력 유효성 검사로 인해 공격자는 셸 수준에서 작동 할 자체 명령을 주입 할 수 있습니다. 공격자는 쿠키,폼 또는 헤더와 같은 사용자가 제공한 데이터를 통해 운영 체제 명령을 도입합니다.

이 취약점은 공격자가 제공한 운영 체제 명령이 일반적으로 취약한 응용 프로그램의 권한으로 실행되기 때문에 위험한 취약점입니다. 따라서 공격자는 응용 프로그램 및 모든 데이터를 손상시키는 호스트 운영 체제 명령 주입줄기를 완전히 제어할 수 있습니다.

공격자가 프로그램에 실행 가능한 입력을 제출하고 해당 입력을 실행하도록 소프트웨어를 속일 수 있을 때 존재하는 코드 삽입 취약점과 달리. 명령 삽입 취약점은 코드를 삽입하지 않고도 임의의 명령을 실행할 수 있는 보호되지 않은 시스템의 약점을 악용합니다. 두 취약점 모두 적절한 입력/출력 데이터 유효성 검사로 인해 발생합니다.

유용한 명령

다음은 공격하는 운영 체제에 대한 추가 정보를 제공할 수 있는 몇 가지 유용한 명령입니다

명령의 목적

리눅스

윈도우

현재 사용자 이름

후아미

후아미

운영 체제

이름-

버전

네트워크 구성

째챈쨩처쨀짼쨉쨉짹쨀째쩔첩

네트워크 연결

넷스탯안

넷스탯안

프로세스 실행

()

태스크리스트

응용 프로그램에서 명령 삽입 취약점을 테스트하기 위해 함께 연결되도록 명령을 사용할 수 있는 메타문자를 사용해 보십시오. 자신의 명령을 실행할 수 있다면 웹 응용 프로그램이 취약합니다. 다음 명령 구분 기호는 윈도우 및 유닉스 기반 시스템 모두에서 작동합니다:

  • &
  • &&
  • |
  • ||

다른 명령 주입 페이로드는 명령이 응용 프로그램이 응답하는 데 걸리는 시간을 기준으로 실행되었는지 확인 할 수 있도록,시간 지연을 트리거 아래의 핑 명령을 포함한다. 아래 명령은 응답을 반환하는 데 10 초가 걸립니다.

&핑-기음 10 127.0.0.1 &

또한 공격자는 자신이 제어하는 도메인에 대한 명령을 사용하여 운영 체제 명령 취약점을 확인할 수 있습니다. 조회가 일어나면 그들의 명령 주입이 성공적 이었다 것 을 그들은 있있다.

응용 프로그램을 테스트하기 위한 다양한 명령:

&&루트 권한으로 실행 중인 경우에만 모든 해시된 암호를 표시합니다.

운영 체제 명령 주입 공격을 방지하는 방법

  1. 방어 옵션 1:운영 체제 명령을 직접 호출하지 마십시오. 내장 라이브러리 함수는 운영 체제 명령에 대한 아주 좋은 대안입니다.
  2. 방어 옵션 2:각 운영 체제에 특정한 운영 체제 명령에 추가 된 이스케이프 값.
  3. 방어 옵션 3:입력 유효성 검사와 함께 매개 변수화-사용자가 제공한 경우 매개 변수화 및 입력 유효성 검사를 피할 수 없습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.