코더는 보안을 정복 : 공유 및 학습 시리즈 - 이메일 헤더 주입
코더는 보안을 정복 : 공유 및 학습 시리즈 - 이메일 헤더 주입
사용자가 이메일을 사용하여 응용 프로그램을 통해 피드백, 약속 미리 알림 및 기타 다양한 정보를 보낼 수 있도록 웹 사이트 및 응용 프로그램이 요즘 일반적입니다. 일반적으로 이 프로세스는 상당히 양호하며 대부분의 사람들은 잠재적인 보안 위험 측면에서 그것에 대해 생각하지 않습니다.
그러나 사용자 입력을 허용하는 다른 디자인 요소와 마찬가지로 제대로 구성되지 않으면 악의적인 사용자가 악의적인 방식으로 조작할 수 있습니다. 사용자에게 서버에서 실수로 처리되는 입력 필드에 코드를 입력할 수 있는 기능을 제공하는 데만 필요한 것입니다. 갑자기 이메일 응용 프로그램이 무기화 될 수 있습니다.
이 에피소드에서 우리는 배울 것입니다 :
- 공격자가 전자 메일 헤더 주입을 트리거하는 방법
- 이메일 헤더 주사가 위험한 이유
- 이 취약점을 해결할 수 있는 기술입니다.
공격자는 이메일 헤더 주입을 트리거하는 방법은 무엇입니까?
프로그래밍 가능한 것으로 생각되는 경우가 많지는 않지만 대부분의 이메일 연락처 응용 프로그램 이나 응용 프로그램에 넣은 기능은 쿼리의 특성을 변경하는 입력을 수락할 수 있습니다. 사용자가 전자 메일 주소와 같은 정보를 계약 필드에 입력한 후 서버에서 자동으로 수행됩니다. 그런 다음 프로그램은 메시지를 구성하고 적절한 받는 사람을 추가하고 기본 전자 메일 서버를 사용하여 메시지를 보냅니다.
일반적인 이메일 POST 요청은 다음과 같이 보일 수 있습니다.
포스트/연락처.php HTTP/1.1
호스트: www.example.com
그리고 사용자가 자신의 정보를 입력 한 후 다음과 같은 다음과 같은 코드를 생성 :
이름=리얼네임&답장=RealName@ValidServer.com&메시지=귀하의약속 알림
문제는 해커가 자신의 연락처 정보 대신 프로세스에 코드를 삽입하기 시작할 때 발생합니다. 이는 SQL 주입 유형 공격과 는 달리 전자 메일 응용 프로그램에 대해 수행됩니다. 대신 대상 사용자에게 응용 프로그램에서 스팸을 보내는 조작 된 쿼리의 예는 다음과 같습니다.
이름=FakeName\nbcc: SpammedVictim@TargetAddress.com&replyTo= FakeName@ValidServer.com&message=스팸 메시지
이메일 헤더 주입이 위험한 이유는 무엇입니까?
악의적인 사용자의 기술과 의도에 따라 이메일 헤더 주입 공격은 단순히 성가신 것에서 심각도 면에서 매우 위험할 수 있습니다. 심각도 척도의 로우 엔드에서 회사 내 비밀 또는 공개되지 않은 사서함으로 전송된 나가는 메시지의 BCC 필드에 연락처 정보를 삽입하여 해커에게 공개할 수 있습니다.
더 많은 관련, 그것은 완전히 귀하의 이메일 서버를 제어 하 여 스팸 을 보낼 수 있습니다., 피싱 또는 조직에서 다른 공격 이메일. 그들은 시도하고 이메일이 실제로 거기에서 유래 될 것이기 때문에, 내부 서버에서 오는 사실을 가짜 필요가 없습니다. 또한 해당 활동을 모니터링하지 않으면 프로세스를 자동화하고 조직의 서버를 사용하여 수백 또는 수천 개의 전자 메일을 발송할 수 있으며 실제로 해당 활동을 선동하는 것처럼 보입니다.
이메일 헤더 주입 문제 제거
SQL 주입 및 이러한 특성의 다른 공격과 마찬가지로 악의적인 사용자가 전자 메일 헤더 취약점을 악용할 가능성을 제거하는 열쇠는 사용자 입력을 신뢰하지 않습니다. 사용자가 정보를 입력할 수 있는 경우 이메일 주소 입력과 같은 사소한 프로세스처럼 보이지만 최악의 경우 를 가정해야 합니다. 또는 적어도 최악의 경우 가능하다고 가정하십시오.
입력 유효성 검사는 모든 매개 변수에 대해 수행해야 하며 앱 또는 웹 사이트에 이메일 연락처 기능을 추가할 때 포함됩니다. 화이트리스팅은 다른 모든 것을 부인하면서 유효하다고 판단되는 프로세스와 필드를 구체적으로 사용하도록 설정하는 데 사용할 수 있습니다. 실제로 대부분의 프레임워크에는 필요한 프레임워크에 만 함수를 잠그는 데 사용할 수 있는 라이브러리가 있습니다. 이렇게 하면 악의적인 사용자가 입력한 코드 나 명령이 서버에서 인식하고 처리되지 않습니다.
이메일 헤더 주입에 대한 자세한 정보
추가 읽기를 위해, 당신은 OWASP 이메일 헤더 주사에대해 말하는 것을 살펴 볼 수 있습니다. 또한 새로운 방어 지식을 테스트에 넣을 수 있습니다. Secure Code Warrior 사이버 보안 팀이 궁극적인 사이버 전사가 될 수 있도록 하는 플랫폼. 이 취약점을 물리치는 것에 대해 자세히 알아보려면 Secure Code Warrior 블로그.
지금 이메일 주입을 찾아 고칠 준비가 되었다고 생각하십니까? 플랫폼으로 가서 기술을 테스트하십시오: [여기에서 시작]
블로그에서 최신 보안 코딩 인사이트에 대해 자세히 알아보세요.
Atlassian의 광범위한 리소스 라이브러리는 안전한 코딩 숙련도를 확보하기 위한 인적 접근 방식을 강화하는 것을 목표로 합니다.
개발자 중심 보안에 대한 최신 연구 보기
광범위한 리소스 라이브러리에는 개발자 중심의 보안 코딩을 시작하는 데 도움이 되는 백서부터 웨비나까지 유용한 리소스가 가득합니다. 지금 살펴보세요.
코더는 보안을 정복 : 공유 및 학습 시리즈 - 이메일 헤더 주입
사용자가 이메일을 사용하여 응용 프로그램을 통해 피드백, 약속 미리 알림 및 기타 다양한 정보를 보낼 수 있도록 웹 사이트 및 응용 프로그램이 요즘 일반적입니다. 일반적으로 이 프로세스는 상당히 양호하며 대부분의 사람들은 잠재적인 보안 위험 측면에서 그것에 대해 생각하지 않습니다.
그러나 사용자 입력을 허용하는 다른 디자인 요소와 마찬가지로 제대로 구성되지 않으면 악의적인 사용자가 악의적인 방식으로 조작할 수 있습니다. 사용자에게 서버에서 실수로 처리되는 입력 필드에 코드를 입력할 수 있는 기능을 제공하는 데만 필요한 것입니다. 갑자기 이메일 응용 프로그램이 무기화 될 수 있습니다.
이 에피소드에서 우리는 배울 것입니다 :
- 공격자가 전자 메일 헤더 주입을 트리거하는 방법
- 이메일 헤더 주사가 위험한 이유
- 이 취약점을 해결할 수 있는 기술입니다.
공격자는 이메일 헤더 주입을 트리거하는 방법은 무엇입니까?
프로그래밍 가능한 것으로 생각되는 경우가 많지는 않지만 대부분의 이메일 연락처 응용 프로그램 이나 응용 프로그램에 넣은 기능은 쿼리의 특성을 변경하는 입력을 수락할 수 있습니다. 사용자가 전자 메일 주소와 같은 정보를 계약 필드에 입력한 후 서버에서 자동으로 수행됩니다. 그런 다음 프로그램은 메시지를 구성하고 적절한 받는 사람을 추가하고 기본 전자 메일 서버를 사용하여 메시지를 보냅니다.
일반적인 이메일 POST 요청은 다음과 같이 보일 수 있습니다.
포스트/연락처.php HTTP/1.1
호스트: www.example.com
그리고 사용자가 자신의 정보를 입력 한 후 다음과 같은 다음과 같은 코드를 생성 :
이름=리얼네임&답장=RealName@ValidServer.com&메시지=귀하의약속 알림
문제는 해커가 자신의 연락처 정보 대신 프로세스에 코드를 삽입하기 시작할 때 발생합니다. 이는 SQL 주입 유형 공격과 는 달리 전자 메일 응용 프로그램에 대해 수행됩니다. 대신 대상 사용자에게 응용 프로그램에서 스팸을 보내는 조작 된 쿼리의 예는 다음과 같습니다.
이름=FakeName\nbcc: SpammedVictim@TargetAddress.com&replyTo= FakeName@ValidServer.com&message=스팸 메시지
이메일 헤더 주입이 위험한 이유는 무엇입니까?
악의적인 사용자의 기술과 의도에 따라 이메일 헤더 주입 공격은 단순히 성가신 것에서 심각도 면에서 매우 위험할 수 있습니다. 심각도 척도의 로우 엔드에서 회사 내 비밀 또는 공개되지 않은 사서함으로 전송된 나가는 메시지의 BCC 필드에 연락처 정보를 삽입하여 해커에게 공개할 수 있습니다.
더 많은 관련, 그것은 완전히 귀하의 이메일 서버를 제어 하 여 스팸 을 보낼 수 있습니다., 피싱 또는 조직에서 다른 공격 이메일. 그들은 시도하고 이메일이 실제로 거기에서 유래 될 것이기 때문에, 내부 서버에서 오는 사실을 가짜 필요가 없습니다. 또한 해당 활동을 모니터링하지 않으면 프로세스를 자동화하고 조직의 서버를 사용하여 수백 또는 수천 개의 전자 메일을 발송할 수 있으며 실제로 해당 활동을 선동하는 것처럼 보입니다.
이메일 헤더 주입 문제 제거
SQL 주입 및 이러한 특성의 다른 공격과 마찬가지로 악의적인 사용자가 전자 메일 헤더 취약점을 악용할 가능성을 제거하는 열쇠는 사용자 입력을 신뢰하지 않습니다. 사용자가 정보를 입력할 수 있는 경우 이메일 주소 입력과 같은 사소한 프로세스처럼 보이지만 최악의 경우 를 가정해야 합니다. 또는 적어도 최악의 경우 가능하다고 가정하십시오.
입력 유효성 검사는 모든 매개 변수에 대해 수행해야 하며 앱 또는 웹 사이트에 이메일 연락처 기능을 추가할 때 포함됩니다. 화이트리스팅은 다른 모든 것을 부인하면서 유효하다고 판단되는 프로세스와 필드를 구체적으로 사용하도록 설정하는 데 사용할 수 있습니다. 실제로 대부분의 프레임워크에는 필요한 프레임워크에 만 함수를 잠그는 데 사용할 수 있는 라이브러리가 있습니다. 이렇게 하면 악의적인 사용자가 입력한 코드 나 명령이 서버에서 인식하고 처리되지 않습니다.
이메일 헤더 주입에 대한 자세한 정보
추가 읽기를 위해, 당신은 OWASP 이메일 헤더 주사에대해 말하는 것을 살펴 볼 수 있습니다. 또한 새로운 방어 지식을 테스트에 넣을 수 있습니다. Secure Code Warrior 사이버 보안 팀이 궁극적인 사이버 전사가 될 수 있도록 하는 플랫폼. 이 취약점을 물리치는 것에 대해 자세히 알아보려면 Secure Code Warrior 블로그.
지금 이메일 주입을 찾아 고칠 준비가 되었다고 생각하십니까? 플랫폼으로 가서 기술을 테스트하십시오: [여기에서 시작]