본문 바로가기

카테고리 없음

[PortSwigger] Lab: OS command injection, simple case

반응형

https://portswigger.net/web-security/os-command-injection/lab-simple

 

Lab: OS command injection, simple case | Web Security Academy

This lab contains an OS command injection vulnerability in the product stock checker. The application executes a shell command containing user-supplied ...

portswigger.net

 

문제

 

OS command Injection : 공격자가 응용 프로그램을 실행하는 서버에서 임의의 운영 체제(OS) 명령을 실행할 수 있게 하는 웹 보안 취약점이며, 일반적으로 응용 프로그램과 모든 데이터를 완전히 손상시킨다.

 

 

일부 명령어로 시스템정보를 얻을 수 있다.

목적 Linux Windows
현재 사용자 이름 whoami whoami
운영체제 uname -a ver
네트워크 구성 ifconfig ipconfig /all
네트워크 연결 netstat -an netstat -an
실행중인 프로세스 ps -ef tasklist

 

문제를 보면 product stock checker에 OS command injection 취약점이 포함되어 있다고 한다. 
사용자 제공제품과 스토어ID가 포함된 쉘 명령을 실행하고, 명령의 응답으로부터 출력을 반환하는 것이다.
이때 whoami 명령을 실행하여 현재 사용자 이름을 확인해야 문제를 해결할 수 있다.

 

OS command injection 공격은 쉘 특수문자를 사용하여 수행할 수 있다. 다음 명령 구분 기호는 Windows와 Linux에서 작동한다.

  • & : 첫 번째 명령어가 실행한 후 뒤 명령어 실행
  • && : 첫 번째 명령어가 성공되면 다음 명령어를 수행(실패 시 다음 명령어 수행x)
  • | : 앞에서 실행한 명령어 출력 결과를 뒤 명령어로 pipe 연결해서 실행.
  • || : 첫 번째 명령어가 실패하면 다음 명령어 수행

 

product stock checker

 

버프스위트를 사용하여 check stock를 확인하는 요청을 intercept를 한다.

 

 

아래에 productId와 storeId 파라미터 값이 있다.

 

 

 

storeId 값 뒤에 파이프라인 문자와 whoami명령어를 넣어 forwoard를 한다. 

 

 

응답값에서 현재 사용자의 이름을 확인할 수 있다.

 

 

반응형