
코더즈 컨커 보안: 셰어 앤 런 시리즈 - 코드 인젝션
코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.사실 이런 종류의 공격은 거의 모든 사이버 보안 방어자가 경력의 어느 시점에서 처리해야 하는 공격이며, 아마도 여러 번 맞서게 될 것입니다.
코드 인젝션 공격은 애플리케이션이나 웹 사이트가 사용자의 입력을 받아들일 때마다 발생할 수 있습니다.이는 검색 기능을 제공하거나 사용자에게 식별 정보를 입력하도록 요청하는 것처럼 간단할 수 있습니다.이 공격은 악의적인 사용자가 일반 텍스트 입력 대신 오픈 필드에 코드를 입력할 때 발생합니다.이들의 목표는 서버가 입력 내용을 유효한 코드로 착각하도록 한 다음 공격자가 원하는 모든 기능을 실행하도록 하는 것입니다.
코드 인젝션 공격은 매우 흔하지만, 이를 막는 데 사용할 수 있는 방어 수단도 매우 흔합니다.이번 에피소드에서는 다음과 같은 내용을 살펴보겠습니다.
- 작동 방식
- 왜 그렇게 위험한가요?
- 어떻게 하면 그들을 막을 수 있는 방어 시설을 마련할 수 있을까요?
공격자는 코드 인젝션을 어떻게 사용하나요?
코드 인젝션 공격에 대한 구체적인 세부 사항은 사용하는 프로그래밍 언어에 따라 다르지만 사용자가 데이터를 입력할 수 있는 한 모든 앱이나 웹 사이트는 취약할 수 있습니다.SQL, HTML, XML, CSS 및 기타 모든 일반 프로그래밍 언어에 대해 코드 인젝션 공격이 트리거되었습니다.
첫째, 공격자는 일반적으로 사용자가 직접 입력할 수 있는 애플리케이션 내에서 취약한 코드를 찾아야 합니다.예를 들어, 이 코드는 PHP eval () 함수를 가져와서 사용자에게 전달하여 수정할 수 있도록 합니다. 반환 문자열에 대한 어떤 종류의 유효성 검사도 필요하지 않습니다.
$myvar = “바네임”;
$x = $_GET [인수];
eval (“\ $myvar =\ $x;”);
영리한 공격자는 원하는 경우 시스템 명령을 실행하여 eval 함수에 자신의 문자열을 쉽게 추가할 수 있습니다.
/index.php?아르그=1; 시스템 (ID)
코드 인젝션 공격에는 시스템 명령 전송이 포함될 수 있지만 이러한 공격에만 국한되는 것은 아니라는 점에 유의해야 합니다.사실 코드 인젝션 공격의 경우 해커는 언어 자체의 기능에 의해서만 제약을 받습니다.이 예제에서 공격자는 PHP 프레임워크에서 허용하는 거의 모든 작업을 수행하도록 대상 시스템을 프로그래밍할 수 있습니다.
코드 인젝션 공격이 왜 그렇게 위험한가요?
코드 인젝션 공격은 공격자의 기술에 따라 잠재적으로 매우 위험할 수 있습니다.이들은 프로그래밍 언어가 허용하는 모든 작업을 수행할 수 있으므로 앱 프로그래머와 동일한 입장에 설 수 있습니다.공격자는 실제로 자신의 앱을 작성하여 대상 환경 내에서 실행하도록 할 수 있습니다.
숙련도가 낮은 공격자라도 위험할 수 있습니다.자체 애플리케이션 또는 코드 문자열을 작성하는 대신 대상 시스템에 사전 프로그래밍된 멀웨어를 수락하고 설치하도록 명령하기만 하면 됩니다.이로 인해 사이트 훼손, 랜섬웨어 공격이 발생할 수 있으며 심지어 사이트 사용자를 대상으로 한 피싱 캠페인의 기반이 될 수도 있습니다.
대부분의 경우 코드 인젝션 공격은 사용자 목록 및 암호와 같은 정보를 훔치거나 추가 침해 대상 시스템을 정찰하는 데 사용됩니다.하지만 코드 인젝션 공격은 숙련된 코더라면 거의 모든 것을 할 수 있다는 점에 유의하세요. 따라서 코드 인젝션 공격의 잠재적 인스턴스를 모두 발견하여 사용자 환경에서 제거하는 것이 중요합니다.
아무도 믿지 마세요!(또는 적어도 사용자는 아님)
코드 인젝션 공격 취약점을 제거할 때 가장 먼저 살펴봐야 할 곳은 사용자 입력을 요청하거나 허용하는 곳입니다.사용자가 입력한 내용은 어떤 상황에서도 신뢰할 수 없습니다.필터링이나 검사 없이 사용자 입력을 허용하면 기본적으로 공격자가 자신의 시스템이나 네트워크를 무단 손상시킬 수 있도록 유도하는 셈이 됩니다.
항상 가능한 것은 아니지만 코드 삽입 공격을 방지하는 가장 좋은 방법은 함수가 사용자 입력을 직접 실행하거나 해석하지 못하도록 하는 것입니다.사용자가 자유롭게 쿼리를 입력할 수 있는 대신 정적 옵션을 선택할 수 있을 수도 있습니다. 응용 프로그램은 이러한 제한된 선택 사항만 유효한 것으로 받아들이도록 프로그래밍되어 있습니다.그렇게 하는 것이 항상 적절한 것은 아니지만, 가능한 경우 이를 사용하면 시작하기 전에 코드 인젝션을 방지할 수 있습니다.
사용자가 직접 입력해야 하는 영역의 경우 해당 데이터를 엄격하게 제어해야 합니다.모든 것이 잠재적 공격이라고 가정하고 시작하는 것이 좋습니다.읽기 전용 사용자 액세스와 같은 최소 권한 정책을 클라이언트 측과 서버 측 모두에 적용하면 대부분의 코드가 실행되지 않을 수 있습니다.
또 다른 좋은 방어 방법은 모든 사용자가 입력하는 모든 것에 대해 애플리케이션 전체에 필터를 적용하고 위생 처리를 하는 것입니다.개발자들은 코드 인젝션 공격을 수년간 알고 있었으며, 모든 프레임워크와 언어에 대해 검증된 필터 라이브러리가 존재합니다.이러한 필터를 적용할 때는 명백한 사용자 입력 영역이나 Get 및 Post 명령과 같은 일반적인 매개 변수뿐만 아니라 쿠키 및 HTTP 헤더에 대해서도 적용해야 합니다.
코드 인젝션을 위한 수정 적용
환경에서 불필요한 사용자 입력 영역을 제거하고, 최소 권한 원칙을 적용하고, 최신 필터링 및 삭제 도구를 사용하여 잠재적 공격을 검사 및 탐지하면 이 위험한 취약점을 차단할 수 있습니다.사용자의 의견을 절대 신뢰하지 않는다는 마음가짐도 앞으로 나아가는 데 도움이 될 것입니다.이 모든 작업을 수행하면 이러한 위험한 유형의 공격에 한 발 앞서 나갈 수 있습니다.
자세한 내용은 OWASP를 참조하십시오. 에 대한 글 코드 인젝션.또한 다음과 같이 새로 발견한 방어 지식을 테스트할 수 있습니다. 무료 데모 사이버 보안 팀이 궁극의 사이버 전사가 될 수 있도록 교육하는 Secure Code Warrior 플랫폼을 활용했습니다.이 취약점을 해결하는 방법과 기타 위협의 도적 갤러리를 자세히 알아보려면 다음 사이트를 방문하십시오. 시큐어 코드 워리어 블로그.
지금 바로 페이스 코드 인젝션을 정면으로게임화된 교육 플랫폼에서 도전해 보세요. [여기서 시작]


코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.
Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez prendre rendez-vous pour une démonstration.Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.


코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.사실 이런 종류의 공격은 거의 모든 사이버 보안 방어자가 경력의 어느 시점에서 처리해야 하는 공격이며, 아마도 여러 번 맞서게 될 것입니다.
코드 인젝션 공격은 애플리케이션이나 웹 사이트가 사용자의 입력을 받아들일 때마다 발생할 수 있습니다.이는 검색 기능을 제공하거나 사용자에게 식별 정보를 입력하도록 요청하는 것처럼 간단할 수 있습니다.이 공격은 악의적인 사용자가 일반 텍스트 입력 대신 오픈 필드에 코드를 입력할 때 발생합니다.이들의 목표는 서버가 입력 내용을 유효한 코드로 착각하도록 한 다음 공격자가 원하는 모든 기능을 실행하도록 하는 것입니다.
코드 인젝션 공격은 매우 흔하지만, 이를 막는 데 사용할 수 있는 방어 수단도 매우 흔합니다.이번 에피소드에서는 다음과 같은 내용을 살펴보겠습니다.
- 작동 방식
- 왜 그렇게 위험한가요?
- 어떻게 하면 그들을 막을 수 있는 방어 시설을 마련할 수 있을까요?
공격자는 코드 인젝션을 어떻게 사용하나요?
코드 인젝션 공격에 대한 구체적인 세부 사항은 사용하는 프로그래밍 언어에 따라 다르지만 사용자가 데이터를 입력할 수 있는 한 모든 앱이나 웹 사이트는 취약할 수 있습니다.SQL, HTML, XML, CSS 및 기타 모든 일반 프로그래밍 언어에 대해 코드 인젝션 공격이 트리거되었습니다.
첫째, 공격자는 일반적으로 사용자가 직접 입력할 수 있는 애플리케이션 내에서 취약한 코드를 찾아야 합니다.예를 들어, 이 코드는 PHP eval () 함수를 가져와서 사용자에게 전달하여 수정할 수 있도록 합니다. 반환 문자열에 대한 어떤 종류의 유효성 검사도 필요하지 않습니다.
$myvar = “바네임”;
$x = $_GET [인수];
eval (“\ $myvar =\ $x;”);
영리한 공격자는 원하는 경우 시스템 명령을 실행하여 eval 함수에 자신의 문자열을 쉽게 추가할 수 있습니다.
/index.php?아르그=1; 시스템 (ID)
코드 인젝션 공격에는 시스템 명령 전송이 포함될 수 있지만 이러한 공격에만 국한되는 것은 아니라는 점에 유의해야 합니다.사실 코드 인젝션 공격의 경우 해커는 언어 자체의 기능에 의해서만 제약을 받습니다.이 예제에서 공격자는 PHP 프레임워크에서 허용하는 거의 모든 작업을 수행하도록 대상 시스템을 프로그래밍할 수 있습니다.
코드 인젝션 공격이 왜 그렇게 위험한가요?
코드 인젝션 공격은 공격자의 기술에 따라 잠재적으로 매우 위험할 수 있습니다.이들은 프로그래밍 언어가 허용하는 모든 작업을 수행할 수 있으므로 앱 프로그래머와 동일한 입장에 설 수 있습니다.공격자는 실제로 자신의 앱을 작성하여 대상 환경 내에서 실행하도록 할 수 있습니다.
숙련도가 낮은 공격자라도 위험할 수 있습니다.자체 애플리케이션 또는 코드 문자열을 작성하는 대신 대상 시스템에 사전 프로그래밍된 멀웨어를 수락하고 설치하도록 명령하기만 하면 됩니다.이로 인해 사이트 훼손, 랜섬웨어 공격이 발생할 수 있으며 심지어 사이트 사용자를 대상으로 한 피싱 캠페인의 기반이 될 수도 있습니다.
대부분의 경우 코드 인젝션 공격은 사용자 목록 및 암호와 같은 정보를 훔치거나 추가 침해 대상 시스템을 정찰하는 데 사용됩니다.하지만 코드 인젝션 공격은 숙련된 코더라면 거의 모든 것을 할 수 있다는 점에 유의하세요. 따라서 코드 인젝션 공격의 잠재적 인스턴스를 모두 발견하여 사용자 환경에서 제거하는 것이 중요합니다.
아무도 믿지 마세요!(또는 적어도 사용자는 아님)
코드 인젝션 공격 취약점을 제거할 때 가장 먼저 살펴봐야 할 곳은 사용자 입력을 요청하거나 허용하는 곳입니다.사용자가 입력한 내용은 어떤 상황에서도 신뢰할 수 없습니다.필터링이나 검사 없이 사용자 입력을 허용하면 기본적으로 공격자가 자신의 시스템이나 네트워크를 무단 손상시킬 수 있도록 유도하는 셈이 됩니다.
항상 가능한 것은 아니지만 코드 삽입 공격을 방지하는 가장 좋은 방법은 함수가 사용자 입력을 직접 실행하거나 해석하지 못하도록 하는 것입니다.사용자가 자유롭게 쿼리를 입력할 수 있는 대신 정적 옵션을 선택할 수 있을 수도 있습니다. 응용 프로그램은 이러한 제한된 선택 사항만 유효한 것으로 받아들이도록 프로그래밍되어 있습니다.그렇게 하는 것이 항상 적절한 것은 아니지만, 가능한 경우 이를 사용하면 시작하기 전에 코드 인젝션을 방지할 수 있습니다.
사용자가 직접 입력해야 하는 영역의 경우 해당 데이터를 엄격하게 제어해야 합니다.모든 것이 잠재적 공격이라고 가정하고 시작하는 것이 좋습니다.읽기 전용 사용자 액세스와 같은 최소 권한 정책을 클라이언트 측과 서버 측 모두에 적용하면 대부분의 코드가 실행되지 않을 수 있습니다.
또 다른 좋은 방어 방법은 모든 사용자가 입력하는 모든 것에 대해 애플리케이션 전체에 필터를 적용하고 위생 처리를 하는 것입니다.개발자들은 코드 인젝션 공격을 수년간 알고 있었으며, 모든 프레임워크와 언어에 대해 검증된 필터 라이브러리가 존재합니다.이러한 필터를 적용할 때는 명백한 사용자 입력 영역이나 Get 및 Post 명령과 같은 일반적인 매개 변수뿐만 아니라 쿠키 및 HTTP 헤더에 대해서도 적용해야 합니다.
코드 인젝션을 위한 수정 적용
환경에서 불필요한 사용자 입력 영역을 제거하고, 최소 권한 원칙을 적용하고, 최신 필터링 및 삭제 도구를 사용하여 잠재적 공격을 검사 및 탐지하면 이 위험한 취약점을 차단할 수 있습니다.사용자의 의견을 절대 신뢰하지 않는다는 마음가짐도 앞으로 나아가는 데 도움이 될 것입니다.이 모든 작업을 수행하면 이러한 위험한 유형의 공격에 한 발 앞서 나갈 수 있습니다.
자세한 내용은 OWASP를 참조하십시오. 에 대한 글 코드 인젝션.또한 다음과 같이 새로 발견한 방어 지식을 테스트할 수 있습니다. 무료 데모 사이버 보안 팀이 궁극의 사이버 전사가 될 수 있도록 교육하는 Secure Code Warrior 플랫폼을 활용했습니다.이 취약점을 해결하는 방법과 기타 위협의 도적 갤러리를 자세히 알아보려면 다음 사이트를 방문하십시오. 시큐어 코드 워리어 블로그.
지금 바로 페이스 코드 인젝션을 정면으로게임화된 교육 플랫폼에서 도전해 보세요. [여기서 시작]

코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.사실 이런 종류의 공격은 거의 모든 사이버 보안 방어자가 경력의 어느 시점에서 처리해야 하는 공격이며, 아마도 여러 번 맞서게 될 것입니다.
코드 인젝션 공격은 애플리케이션이나 웹 사이트가 사용자의 입력을 받아들일 때마다 발생할 수 있습니다.이는 검색 기능을 제공하거나 사용자에게 식별 정보를 입력하도록 요청하는 것처럼 간단할 수 있습니다.이 공격은 악의적인 사용자가 일반 텍스트 입력 대신 오픈 필드에 코드를 입력할 때 발생합니다.이들의 목표는 서버가 입력 내용을 유효한 코드로 착각하도록 한 다음 공격자가 원하는 모든 기능을 실행하도록 하는 것입니다.
코드 인젝션 공격은 매우 흔하지만, 이를 막는 데 사용할 수 있는 방어 수단도 매우 흔합니다.이번 에피소드에서는 다음과 같은 내용을 살펴보겠습니다.
- 작동 방식
- 왜 그렇게 위험한가요?
- 어떻게 하면 그들을 막을 수 있는 방어 시설을 마련할 수 있을까요?
공격자는 코드 인젝션을 어떻게 사용하나요?
코드 인젝션 공격에 대한 구체적인 세부 사항은 사용하는 프로그래밍 언어에 따라 다르지만 사용자가 데이터를 입력할 수 있는 한 모든 앱이나 웹 사이트는 취약할 수 있습니다.SQL, HTML, XML, CSS 및 기타 모든 일반 프로그래밍 언어에 대해 코드 인젝션 공격이 트리거되었습니다.
첫째, 공격자는 일반적으로 사용자가 직접 입력할 수 있는 애플리케이션 내에서 취약한 코드를 찾아야 합니다.예를 들어, 이 코드는 PHP eval () 함수를 가져와서 사용자에게 전달하여 수정할 수 있도록 합니다. 반환 문자열에 대한 어떤 종류의 유효성 검사도 필요하지 않습니다.
$myvar = “바네임”;
$x = $_GET [인수];
eval (“\ $myvar =\ $x;”);
영리한 공격자는 원하는 경우 시스템 명령을 실행하여 eval 함수에 자신의 문자열을 쉽게 추가할 수 있습니다.
/index.php?아르그=1; 시스템 (ID)
코드 인젝션 공격에는 시스템 명령 전송이 포함될 수 있지만 이러한 공격에만 국한되는 것은 아니라는 점에 유의해야 합니다.사실 코드 인젝션 공격의 경우 해커는 언어 자체의 기능에 의해서만 제약을 받습니다.이 예제에서 공격자는 PHP 프레임워크에서 허용하는 거의 모든 작업을 수행하도록 대상 시스템을 프로그래밍할 수 있습니다.
코드 인젝션 공격이 왜 그렇게 위험한가요?
코드 인젝션 공격은 공격자의 기술에 따라 잠재적으로 매우 위험할 수 있습니다.이들은 프로그래밍 언어가 허용하는 모든 작업을 수행할 수 있으므로 앱 프로그래머와 동일한 입장에 설 수 있습니다.공격자는 실제로 자신의 앱을 작성하여 대상 환경 내에서 실행하도록 할 수 있습니다.
숙련도가 낮은 공격자라도 위험할 수 있습니다.자체 애플리케이션 또는 코드 문자열을 작성하는 대신 대상 시스템에 사전 프로그래밍된 멀웨어를 수락하고 설치하도록 명령하기만 하면 됩니다.이로 인해 사이트 훼손, 랜섬웨어 공격이 발생할 수 있으며 심지어 사이트 사용자를 대상으로 한 피싱 캠페인의 기반이 될 수도 있습니다.
대부분의 경우 코드 인젝션 공격은 사용자 목록 및 암호와 같은 정보를 훔치거나 추가 침해 대상 시스템을 정찰하는 데 사용됩니다.하지만 코드 인젝션 공격은 숙련된 코더라면 거의 모든 것을 할 수 있다는 점에 유의하세요. 따라서 코드 인젝션 공격의 잠재적 인스턴스를 모두 발견하여 사용자 환경에서 제거하는 것이 중요합니다.
아무도 믿지 마세요!(또는 적어도 사용자는 아님)
코드 인젝션 공격 취약점을 제거할 때 가장 먼저 살펴봐야 할 곳은 사용자 입력을 요청하거나 허용하는 곳입니다.사용자가 입력한 내용은 어떤 상황에서도 신뢰할 수 없습니다.필터링이나 검사 없이 사용자 입력을 허용하면 기본적으로 공격자가 자신의 시스템이나 네트워크를 무단 손상시킬 수 있도록 유도하는 셈이 됩니다.
항상 가능한 것은 아니지만 코드 삽입 공격을 방지하는 가장 좋은 방법은 함수가 사용자 입력을 직접 실행하거나 해석하지 못하도록 하는 것입니다.사용자가 자유롭게 쿼리를 입력할 수 있는 대신 정적 옵션을 선택할 수 있을 수도 있습니다. 응용 프로그램은 이러한 제한된 선택 사항만 유효한 것으로 받아들이도록 프로그래밍되어 있습니다.그렇게 하는 것이 항상 적절한 것은 아니지만, 가능한 경우 이를 사용하면 시작하기 전에 코드 인젝션을 방지할 수 있습니다.
사용자가 직접 입력해야 하는 영역의 경우 해당 데이터를 엄격하게 제어해야 합니다.모든 것이 잠재적 공격이라고 가정하고 시작하는 것이 좋습니다.읽기 전용 사용자 액세스와 같은 최소 권한 정책을 클라이언트 측과 서버 측 모두에 적용하면 대부분의 코드가 실행되지 않을 수 있습니다.
또 다른 좋은 방어 방법은 모든 사용자가 입력하는 모든 것에 대해 애플리케이션 전체에 필터를 적용하고 위생 처리를 하는 것입니다.개발자들은 코드 인젝션 공격을 수년간 알고 있었으며, 모든 프레임워크와 언어에 대해 검증된 필터 라이브러리가 존재합니다.이러한 필터를 적용할 때는 명백한 사용자 입력 영역이나 Get 및 Post 명령과 같은 일반적인 매개 변수뿐만 아니라 쿠키 및 HTTP 헤더에 대해서도 적용해야 합니다.
코드 인젝션을 위한 수정 적용
환경에서 불필요한 사용자 입력 영역을 제거하고, 최소 권한 원칙을 적용하고, 최신 필터링 및 삭제 도구를 사용하여 잠재적 공격을 검사 및 탐지하면 이 위험한 취약점을 차단할 수 있습니다.사용자의 의견을 절대 신뢰하지 않는다는 마음가짐도 앞으로 나아가는 데 도움이 될 것입니다.이 모든 작업을 수행하면 이러한 위험한 유형의 공격에 한 발 앞서 나갈 수 있습니다.
자세한 내용은 OWASP를 참조하십시오. 에 대한 글 코드 인젝션.또한 다음과 같이 새로 발견한 방어 지식을 테스트할 수 있습니다. 무료 데모 사이버 보안 팀이 궁극의 사이버 전사가 될 수 있도록 교육하는 Secure Code Warrior 플랫폼을 활용했습니다.이 취약점을 해결하는 방법과 기타 위협의 도적 갤러리를 자세히 알아보려면 다음 사이트를 방문하십시오. 시큐어 코드 워리어 블로그.
지금 바로 페이스 코드 인젝션을 정면으로게임화된 교육 플랫폼에서 도전해 보세요. [여기서 시작]

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.
Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Consulter le rapportVeuillez prendre rendez-vous pour une démonstration.Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.
코드 인젝션 공격은 많은 웹 사이트와 애플리케이션에서 발생하는 가장 흔하고 가장 위험한 공격 중 하나입니다.이러한 공격은 정교함과 위험 측면에서 모두 뛰어나지만 사용자 입력을 받아들이는 거의 모든 사이트나 앱이 취약할 수 있습니다.사실 이런 종류의 공격은 거의 모든 사이버 보안 방어자가 경력의 어느 시점에서 처리해야 하는 공격이며, 아마도 여러 번 맞서게 될 것입니다.
코드 인젝션 공격은 애플리케이션이나 웹 사이트가 사용자의 입력을 받아들일 때마다 발생할 수 있습니다.이는 검색 기능을 제공하거나 사용자에게 식별 정보를 입력하도록 요청하는 것처럼 간단할 수 있습니다.이 공격은 악의적인 사용자가 일반 텍스트 입력 대신 오픈 필드에 코드를 입력할 때 발생합니다.이들의 목표는 서버가 입력 내용을 유효한 코드로 착각하도록 한 다음 공격자가 원하는 모든 기능을 실행하도록 하는 것입니다.
코드 인젝션 공격은 매우 흔하지만, 이를 막는 데 사용할 수 있는 방어 수단도 매우 흔합니다.이번 에피소드에서는 다음과 같은 내용을 살펴보겠습니다.
- 작동 방식
- 왜 그렇게 위험한가요?
- 어떻게 하면 그들을 막을 수 있는 방어 시설을 마련할 수 있을까요?
공격자는 코드 인젝션을 어떻게 사용하나요?
코드 인젝션 공격에 대한 구체적인 세부 사항은 사용하는 프로그래밍 언어에 따라 다르지만 사용자가 데이터를 입력할 수 있는 한 모든 앱이나 웹 사이트는 취약할 수 있습니다.SQL, HTML, XML, CSS 및 기타 모든 일반 프로그래밍 언어에 대해 코드 인젝션 공격이 트리거되었습니다.
첫째, 공격자는 일반적으로 사용자가 직접 입력할 수 있는 애플리케이션 내에서 취약한 코드를 찾아야 합니다.예를 들어, 이 코드는 PHP eval () 함수를 가져와서 사용자에게 전달하여 수정할 수 있도록 합니다. 반환 문자열에 대한 어떤 종류의 유효성 검사도 필요하지 않습니다.
$myvar = “바네임”;
$x = $_GET [인수];
eval (“\ $myvar =\ $x;”);
영리한 공격자는 원하는 경우 시스템 명령을 실행하여 eval 함수에 자신의 문자열을 쉽게 추가할 수 있습니다.
/index.php?아르그=1; 시스템 (ID)
코드 인젝션 공격에는 시스템 명령 전송이 포함될 수 있지만 이러한 공격에만 국한되는 것은 아니라는 점에 유의해야 합니다.사실 코드 인젝션 공격의 경우 해커는 언어 자체의 기능에 의해서만 제약을 받습니다.이 예제에서 공격자는 PHP 프레임워크에서 허용하는 거의 모든 작업을 수행하도록 대상 시스템을 프로그래밍할 수 있습니다.
코드 인젝션 공격이 왜 그렇게 위험한가요?
코드 인젝션 공격은 공격자의 기술에 따라 잠재적으로 매우 위험할 수 있습니다.이들은 프로그래밍 언어가 허용하는 모든 작업을 수행할 수 있으므로 앱 프로그래머와 동일한 입장에 설 수 있습니다.공격자는 실제로 자신의 앱을 작성하여 대상 환경 내에서 실행하도록 할 수 있습니다.
숙련도가 낮은 공격자라도 위험할 수 있습니다.자체 애플리케이션 또는 코드 문자열을 작성하는 대신 대상 시스템에 사전 프로그래밍된 멀웨어를 수락하고 설치하도록 명령하기만 하면 됩니다.이로 인해 사이트 훼손, 랜섬웨어 공격이 발생할 수 있으며 심지어 사이트 사용자를 대상으로 한 피싱 캠페인의 기반이 될 수도 있습니다.
대부분의 경우 코드 인젝션 공격은 사용자 목록 및 암호와 같은 정보를 훔치거나 추가 침해 대상 시스템을 정찰하는 데 사용됩니다.하지만 코드 인젝션 공격은 숙련된 코더라면 거의 모든 것을 할 수 있다는 점에 유의하세요. 따라서 코드 인젝션 공격의 잠재적 인스턴스를 모두 발견하여 사용자 환경에서 제거하는 것이 중요합니다.
아무도 믿지 마세요!(또는 적어도 사용자는 아님)
코드 인젝션 공격 취약점을 제거할 때 가장 먼저 살펴봐야 할 곳은 사용자 입력을 요청하거나 허용하는 곳입니다.사용자가 입력한 내용은 어떤 상황에서도 신뢰할 수 없습니다.필터링이나 검사 없이 사용자 입력을 허용하면 기본적으로 공격자가 자신의 시스템이나 네트워크를 무단 손상시킬 수 있도록 유도하는 셈이 됩니다.
항상 가능한 것은 아니지만 코드 삽입 공격을 방지하는 가장 좋은 방법은 함수가 사용자 입력을 직접 실행하거나 해석하지 못하도록 하는 것입니다.사용자가 자유롭게 쿼리를 입력할 수 있는 대신 정적 옵션을 선택할 수 있을 수도 있습니다. 응용 프로그램은 이러한 제한된 선택 사항만 유효한 것으로 받아들이도록 프로그래밍되어 있습니다.그렇게 하는 것이 항상 적절한 것은 아니지만, 가능한 경우 이를 사용하면 시작하기 전에 코드 인젝션을 방지할 수 있습니다.
사용자가 직접 입력해야 하는 영역의 경우 해당 데이터를 엄격하게 제어해야 합니다.모든 것이 잠재적 공격이라고 가정하고 시작하는 것이 좋습니다.읽기 전용 사용자 액세스와 같은 최소 권한 정책을 클라이언트 측과 서버 측 모두에 적용하면 대부분의 코드가 실행되지 않을 수 있습니다.
또 다른 좋은 방어 방법은 모든 사용자가 입력하는 모든 것에 대해 애플리케이션 전체에 필터를 적용하고 위생 처리를 하는 것입니다.개발자들은 코드 인젝션 공격을 수년간 알고 있었으며, 모든 프레임워크와 언어에 대해 검증된 필터 라이브러리가 존재합니다.이러한 필터를 적용할 때는 명백한 사용자 입력 영역이나 Get 및 Post 명령과 같은 일반적인 매개 변수뿐만 아니라 쿠키 및 HTTP 헤더에 대해서도 적용해야 합니다.
코드 인젝션을 위한 수정 적용
환경에서 불필요한 사용자 입력 영역을 제거하고, 최소 권한 원칙을 적용하고, 최신 필터링 및 삭제 도구를 사용하여 잠재적 공격을 검사 및 탐지하면 이 위험한 취약점을 차단할 수 있습니다.사용자의 의견을 절대 신뢰하지 않는다는 마음가짐도 앞으로 나아가는 데 도움이 될 것입니다.이 모든 작업을 수행하면 이러한 위험한 유형의 공격에 한 발 앞서 나갈 수 있습니다.
자세한 내용은 OWASP를 참조하십시오. 에 대한 글 코드 인젝션.또한 다음과 같이 새로 발견한 방어 지식을 테스트할 수 있습니다. 무료 데모 사이버 보안 팀이 궁극의 사이버 전사가 될 수 있도록 교육하는 Secure Code Warrior 플랫폼을 활용했습니다.이 취약점을 해결하는 방법과 기타 위협의 도적 갤러리를 자세히 알아보려면 다음 사이트를 방문하십시오. 시큐어 코드 워리어 블로그.
지금 바로 페이스 코드 인젝션을 정면으로게임화된 교육 플랫폼에서 도전해 보세요. [여기서 시작]
Table des matières
Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez prendre rendez-vous pour une démonstration.TéléchargerRessources utiles pour débuter
Thèmes et contenus de la formation sur les codes de sécurité
Le contenu le plus pertinent du secteur évolue constamment pour s'adapter à l'environnement de développement logiciel en constante évolution, en tenant compte du rôle des clients. Des architectes et ingénieurs aux chefs de produit et responsables de l'assurance qualité, tous les rôles sont couverts, de l'IA à l'injection XQuery. Veuillez consulter le catalogue de contenu pour découvrir ce qui est proposé par thème et par rôle.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources utiles pour débuter
Cybermon est de retour : la mission IA de défaite du boss est désormais disponible à la demande.
Cybermon 2025 Bit The Boss est désormais disponible toute l'année sur SCW. Renforcez le développement de l'IA de sécurité à grande échelle en déployant des défis de sécurité IA/LLM avancés.
Explication de la loi sur la cyber-résilience : l'importance de la conception sécurisée dans le développement de logiciels
Découvrez les exigences de la loi européenne sur la résilience des réseaux et des services (CRA), son champ d'application et comment votre équipe d'ingénieurs peut se préparer en toute sécurité grâce à la conception, aux pratiques, à la prévention des vulnérabilités et à la mise en place d'un environnement de développement.
Facteur de réussite n° 1 : des critères de réussite clairement définis et mesurables
Enabler 1 présente une série de dix articles consacrés aux facteurs de réussite, en démontrant comment le codage sécurisé peut améliorer les performances commerciales, notamment en accélérant la réduction des risques et des coûts pour la maturité des programmes à long terme.




%20(1).avif)
.avif)
