코더정복 보안 OWASP 상위 10 API 시리즈 - 질량 할당
코더정복 보안 OWASP 상위 10 API 시리즈 - 질량 할당


많은 최신 프레임워크는 개발자가 클라이언트의 입력을 코드 변수 및 내부 개체로 자동으로 바인딩하는 함수를 사용하도록 유도하기 때문에 대량 할당 취약점이 생깁니다. 이는 코드를 단순화하고 작업 속도를 높이기 위해 수행됩니다.
공격자는 이 방법론을 사용하여 클라이언트에서 업데이트해서는 안 되는 개체 속성에 변경 내용을 강제로 사용할 수 있습니다. 일반적으로 이로 인해 사용자가 웹 사이트를 가져오거나 회사 기밀을 훔치는 대신 관리자 권한을 자신에게 추가하는 것과 같은 비즈니스 별 문제가 발생합니다. 공격자는 또한 개체 간의 관계와 악용 중인 응용 프로그램의 비즈니스 논리에 대해서도 고려해야 합니다.
그러나, 그 중 어느 것도 대량 할당 취약점 영리하고 악의적 인 사용자의 손에 덜 위험하게만들지 않습니다.
전체 가이드를 시작하기 전에 게임화된 챌린지를 플레이하고 요금을 어떻게 알려주는지 확인하세요.
공격자는 대량 할당 취약점을 어떻게 악용할 수 있습니까?
OWASP에 의해 제시된 시나리오(그리고 당사가 약간 수정)는 질량 할당을 사용하여 코드의 개체에 바인딩된 다른 속성을 포함하는 차량 공유 응용 프로그램을 가정합니다. 여기에는 사용자가 변경할 수 있는 권한 관련 속성과 응용 프로그램에서만 내부적으로만 설정해야 하는 프로세스 종속 속성이 포함됩니다. 둘 다 질량 할당을 사용하여 속성을 개체에 바인딩합니다.
이 시나리오에서는 차량 공유 응용 프로그램을 통해 많은 사용자가 많은 사용자를 향한 응용 프로그램에서 흔히 볼 수 있듯이 프로필을 업데이트할 수 있습니다. 이 작업은 PUT로 전송된 API 호출을 사용하여 수행되며 다음 JSON 개체를 반환합니다.
{"user_name":"SneakySnake", "age":17, "is_admin":false}
이 경우 공격자인 SneakySnake씨가 속성과 개체 간의 관계를 파악했기 때문에 다음 문자열로 프로필을 업데이트하라는 원래 요청을 다시 보낼 수 있습니다.
{"user_name":"SneakySnake","age":24,, "is_admin":true}
끝점이 질량 할당에 취약하므로 새 입력을 유효한 것으로 받아들입니다. 뿐만 아니라 우리의 해커는 자신의 프로필에 몇 년을 추가 않았다, 그러나 그는 또한 자신에게 관리 권한을 할당.
대량 할당 취약점 제거
일부 프레임워크에서 대량 할당 함수를 사용하는 것이 편리할 수 있으므로 API를 안전하게 유지하려는 경우 이를 사용하지 않아야 합니다. 대신 요청 값을 개체에 직접 바인딩하는 대신 구문 분석합니다. 또한 감소된 데이터 전송 개체를 사용하여 관련 위험 없이만 개체 자체에 직접 바인딩하는 것과 거의 동일한 편의성을 제공할 수 있습니다.
추가 예방 조치로 위의 예제의 관리자 권한과 같은 중요한 속성은 거부되어 API 호출의 서버에서 허용되지 않을 수 있습니다. 더 나은 아이디어는 기본적으로 모든 속성을 거부 한 다음 사용자가 업데이트하거나 변경할 수 있도록 특정, 비 민감하지 않은 것들을 허용하는 것입니다. 이러한 작업을 수행하면 API를 잠그고 사용자 환경에서 대량 할당 취약점을 제거하는 데 도움이 될 수 있습니다.
체크 아웃 Secure Code Warrior 이 취약점에 대한 자세한 정보를 위한 블로그 페이지와 다른 보안 결함의 파괴로부터 조직과 고객을 보호하는 방법. 데모를 시도할 수도 있습니다. Secure Code Warrior 모든 사이버 보안 기술을 연마하고 최신 상태로 유지하기 위한 교육 플랫폼을 제공합니다.
블로그에서 최신 보안 코딩 인사이트에 대해 자세히 알아보세요.
Atlassian의 광범위한 리소스 라이브러리는 안전한 코딩 숙련도를 확보하기 위한 인적 접근 방식을 강화하는 것을 목표로 합니다.
개발자 중심 보안에 대한 최신 연구 보기
광범위한 리소스 라이브러리에는 개발자 중심의 보안 코딩을 시작하는 데 도움이 되는 백서부터 웨비나까지 유용한 리소스가 가득합니다. 지금 살펴보세요.
코더정복 보안 OWASP 상위 10 API 시리즈 - 질량 할당

많은 최신 프레임워크는 개발자가 클라이언트의 입력을 코드 변수 및 내부 개체로 자동으로 바인딩하는 함수를 사용하도록 유도하기 때문에 대량 할당 취약점이 생깁니다. 이는 코드를 단순화하고 작업 속도를 높이기 위해 수행됩니다.
공격자는 이 방법론을 사용하여 클라이언트에서 업데이트해서는 안 되는 개체 속성에 변경 내용을 강제로 사용할 수 있습니다. 일반적으로 이로 인해 사용자가 웹 사이트를 가져오거나 회사 기밀을 훔치는 대신 관리자 권한을 자신에게 추가하는 것과 같은 비즈니스 별 문제가 발생합니다. 공격자는 또한 개체 간의 관계와 악용 중인 응용 프로그램의 비즈니스 논리에 대해서도 고려해야 합니다.
그러나, 그 중 어느 것도 대량 할당 취약점 영리하고 악의적 인 사용자의 손에 덜 위험하게만들지 않습니다.
전체 가이드를 시작하기 전에 게임화된 챌린지를 플레이하고 요금을 어떻게 알려주는지 확인하세요.
공격자는 대량 할당 취약점을 어떻게 악용할 수 있습니까?
OWASP에 의해 제시된 시나리오(그리고 당사가 약간 수정)는 질량 할당을 사용하여 코드의 개체에 바인딩된 다른 속성을 포함하는 차량 공유 응용 프로그램을 가정합니다. 여기에는 사용자가 변경할 수 있는 권한 관련 속성과 응용 프로그램에서만 내부적으로만 설정해야 하는 프로세스 종속 속성이 포함됩니다. 둘 다 질량 할당을 사용하여 속성을 개체에 바인딩합니다.
이 시나리오에서는 차량 공유 응용 프로그램을 통해 많은 사용자가 많은 사용자를 향한 응용 프로그램에서 흔히 볼 수 있듯이 프로필을 업데이트할 수 있습니다. 이 작업은 PUT로 전송된 API 호출을 사용하여 수행되며 다음 JSON 개체를 반환합니다.
{"user_name":"SneakySnake", "age":17, "is_admin":false}
이 경우 공격자인 SneakySnake씨가 속성과 개체 간의 관계를 파악했기 때문에 다음 문자열로 프로필을 업데이트하라는 원래 요청을 다시 보낼 수 있습니다.
{"user_name":"SneakySnake","age":24,, "is_admin":true}
끝점이 질량 할당에 취약하므로 새 입력을 유효한 것으로 받아들입니다. 뿐만 아니라 우리의 해커는 자신의 프로필에 몇 년을 추가 않았다, 그러나 그는 또한 자신에게 관리 권한을 할당.
대량 할당 취약점 제거
일부 프레임워크에서 대량 할당 함수를 사용하는 것이 편리할 수 있으므로 API를 안전하게 유지하려는 경우 이를 사용하지 않아야 합니다. 대신 요청 값을 개체에 직접 바인딩하는 대신 구문 분석합니다. 또한 감소된 데이터 전송 개체를 사용하여 관련 위험 없이만 개체 자체에 직접 바인딩하는 것과 거의 동일한 편의성을 제공할 수 있습니다.
추가 예방 조치로 위의 예제의 관리자 권한과 같은 중요한 속성은 거부되어 API 호출의 서버에서 허용되지 않을 수 있습니다. 더 나은 아이디어는 기본적으로 모든 속성을 거부 한 다음 사용자가 업데이트하거나 변경할 수 있도록 특정, 비 민감하지 않은 것들을 허용하는 것입니다. 이러한 작업을 수행하면 API를 잠그고 사용자 환경에서 대량 할당 취약점을 제거하는 데 도움이 될 수 있습니다.
체크 아웃 Secure Code Warrior 이 취약점에 대한 자세한 정보를 위한 블로그 페이지와 다른 보안 결함의 파괴로부터 조직과 고객을 보호하는 방법. 데모를 시도할 수도 있습니다. Secure Code Warrior 모든 사이버 보안 기술을 연마하고 최신 상태로 유지하기 위한 교육 플랫폼을 제공합니다.