반응형
https://portswigger.net/web-security/os-command-injection/lab-simple
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 연결해서 실행.
- || : 첫 번째 명령어가 실패하면 다음 명령어 수행
버프스위트를 사용하여 check stock를 확인하는 요청을 intercept를 한다.
아래에 productId와 storeId 파라미터 값이 있다.
storeId 값 뒤에 파이프라인 문자와 whoami명령어를 넣어 forwoard를 한다.
응답값에서 현재 사용자의 이름을 확인할 수 있다.
반응형