목차
XML 외부 엔티티 (XXE) 공격 방지는 외부 엔티티를 해결할 수있는 응용 프로그램의 능력을 비활성화하는 데 경첩이 있습니다. 이는 주로 파서 수준의 구성 변경을 통해 달성됩니다. 다양한 프로그래밍 언어와 XML 처리 라이브러리는 다양한 방법을 가지고 있지만 핵심 원칙은 동일하게 유지됩니다. 파서가 XML 문서 내에 지정된 외부 리소스에 액세스하는 것을 방지합니다.
XML 구문 분석기가 특권이 가장 적은 상태로 실행되도록하십시오. 이는 성공적인 XXE 공격의 영향을 제한합니다.
백엔드 개발 XML/RSS 튜토리얼 XXE (XML 외부 엔티티) 공격을 어떻게 방지합니까?

XXE (XML 외부 엔티티) 공격을 어떻게 방지합니까?

Mar 10, 2025 pm 03:55 PM

XML 외부 엔티티 (XXE) 공격을 방지하려면?

XML 외부 엔티티 (XXE) 공격 방지는 외부 엔티티를 해결할 수있는 응용 프로그램의 능력을 비활성화하는 데 경첩이 있습니다. 이는 주로 파서 수준의 구성 변경을 통해 달성됩니다. 다양한 프로그래밍 언어와 XML 처리 라이브러리는 다양한 방법을 가지고 있지만 핵심 원칙은 동일하게 유지됩니다. 파서가 XML 문서 내에 지정된 외부 리소스에 액세스하는 것을 방지합니다.

여기 공통 시나리오에 의한 고장이 있습니다.

플래그는 입니다. 이것은 일반 및 매개 변수 엔티티의 처리를 명시 적으로 비활성화합니다. 최신 버전의 Java의 경우 유사한 비활성화 기능과 함께 를 사용하는 것을 고려하십시오.

php :

php 's eptension은 유사한 컨트롤을 제공합니다. 와 같은 함수는 외부 엔티티의 로딩을 효과적으로 비활성화합니다. XML 데이터를 구문 분석하기 전에이 함수를
    > Python :
  • Python 's 및 기타 XML 처리 라이브러리는 종종 외부 엔터티를 비활성화하기위한 직접적인 제어가 부족합니다. 그러나 여기서 모범 사례는 신뢰할 수없는 XML 입력을 직접 사용하지 않는 것입니다. 대신, 구문 분석하기 전에 XML 데이터를 소독하거나 검증하여 악성 엔티티가 처리되는 것을 효과적으로 방지합니다. 와 같은 라이브러리는 표준 XML 파서에 대한 더 안전한 대안을 제공합니다. node.js : javax.xml.parsers.SAXParserFactory Python과 유사하게 Node.js 라이브러리는 직접 엔티티 비활성화를 제공하지 않을 수 있습니다. 보안을 염두에두고 설계된 라이브러리를 사용하여 구문 분석하기 전에 입력 XML 데이터를 검증하고 소독하는 데 중점을 둡니다. 표준 구문 분석기와 함께 잠재적으로 악의적 인 입력을 직접 사용하지 마십시오. javax.xml.parsers.DocumentBuilderFactory 특정 XML 구문 분석 라이브러리 및 프레임 워크의 설명서를 참조하여 외부 엔티티 해상도를 비활성화하는 데 사용할 수있는 정확한 구성 옵션을 이해하십시오. 라이브러리의 정기적 인 업데이트는 또한 최신 보안 패치의 혜택을 얻는 데 중요합니다. setFeature("http://xml.org/sax/features/external-general-entities", false) XXE 공격으로 이어지는 일반적인 취약점은 무엇입니까? setFeature("http://xml.org/sax/features/external-parameter-entities", false)에서 발생합니다
    • 부적절한 XML 파서 구성 : 이것은 가장 널리 퍼진 원인입니다. XML 파서가 외부 엔터티 처리를 명시 적으로 비활성화하도록 구성되지 않은 경우 입력 XML에서 참조 된 엔티티를 쉽게 해결하고 잠재적으로 HTTP와 같은 프로토콜을 통해 로컬 파일, 내부 네트워크 리소스 또는 원격 서버에 액세스 할 수 있습니다. 위생화는 중대한 위험입니다. 공격자는 파서의 취약점을 악용하는 외부 엔티티 선언이 포함 된 악의적 인 XML 문서를 제작할 수 있습니다. 입력 유효성이 충분하지 않아서 적절하게 구성된 구문 분석기를 사용하더라도 XML 입력의 부적절한 검증은 문제로 이어질 수 있습니다. 공격자는 피상적 인 검사를 우회하여 악의적 인 엔티티를 무해한 XML 데이터에 주입하려고 시도 할 수 있습니다.
    • 출력 인코딩 부족 :
    • XXE 취약성 자체를 직접적으로 유발하지는 않지만 출력 인코딩은 충격을 악화시킬 수 있습니다. 애플리케이션이 XML 출력에 올바르게 인코딩되지 않으면 XML 응답에 내장 된 민감한 데이터를 노출시켜 공격의 도달 범위를 발전시킬 수 있습니다. 구식 라이브러리 : 구식 XML 구문 분석 라이브러리를 사용하여 새로운 버전을 사용하는 경우, 새로운 버전을 사용하는 보안 패치를 포함하여
    • 는 위험이 증가합니다. XXE 취약성에 대한 나의 응용 프로그램? XXE 취약점 테스트에는 수동 및 자동화 된 기술이 모두 필요합니다.
    • 수동 테스트 :
    • 데이터 유출 (로컬 파일 읽기) : 는 로컬 파일을 가리키는 엔티티 선언이있는 XML 문서를 구성합니다 (예 : UNIX- 유사 시스템에서 ). 파서가 엔티티를 해결하는 경우 파일의 민감한 데이터가 응답에서 유출되거나 기록 될 수 있습니다. 데이터 유출 (원격 파일 읽기) : 로컬 파일 읽기와 유사하지만 엔티티는 HTTP 또는 기타 프로토콜을 통해 원격 파일을 가리 킵니다. 성공적인 악용은 원격 파일의 내용을 보여줍니다.
  • OB (Out-of Band) XXE :
는 외부 엔티티를 사용하여 제어하는 ​​서버에 요청하는 것이 포함됩니다. 서버는 요청을 기록하여 취약점을 확인합니다.

자동화 된 테스트 :

몇 가지 도구는 XXE 취약성 감지를 자동화 할 수 있습니다 :

.

    OWASP ZAP : XXE 취약점을 감지하기 위해 내장 기능이 내장 된 널리 사용되는 웹 애플리케이션 보안 스캐너.
  • Burp Suite : 활성 스캔 기능을 통해 XXE 결함을 감지 할 수있는 또 다른 인기있는 웹 보안 도구. 스크립트 (예 : Python 사용)는 특정 XML 엔드 포인트 및 데이터 구조에 대한 대상 테스트를 제공 할 수 있습니다.
  • 포괄적 인 커버리지를 보장하기 위해 다양한 공격 벡터를 철저히 테스트하고 다양한 공격 벡터를 고려해야합니다.
  • XXE 위험을 완화하기 위해 어떤 보안을 구현해야합니까? xxe 위험 :
  • 입력 유효성 검사 및 소독 :
  • 를 처리하기 전에 항상 XML 입력을 검증하고 소독합니다. 수신 된 XML 데이터의 소스 또는 내용을 절대 신뢰하지 마십시오. XML Canonicalization을 사용하여 XML 문서를 정상화하여 주입 공격의 잠재력을 감소시키고 감소시킵니다. 데이터. 보안 코딩 관행 : XML 데이터를 처리 할 때 프로그래밍 언어 및 프레임 워크에 특정한 보안 코딩 가이드 라인을 따르십시오.
  • 정기적 인 보안 감사 및 침투 테스트 :
정기적으로 응용 프로그램의 보안을 감사하고 안전하게 침투하는 테스트를 수행합니다. 및 프레임 워크 :

> 강력한 보안 기능을 제공하고 정기적 인 보안 업데이트로 적극적으로 유지되는 XML 처리 라이브러리 및 프레임 워크를 선택하십시오.

최소한의 권한 원칙 :

XML 구문 분석기가 특권이 가장 적은 상태로 실행되도록하십시오. 이는 성공적인 XXE 공격의 영향을 제한합니다.

모니터링 및 로깅 :

XML 처리와 관련된 의심스러운 활동을 감지하기 위해 포괄적 인 모니터링 및 로깅을 구현합니다. 이를 통해 잠재적 인 위반에 대한 적시에 응답 할 수 있습니다.

이러한 관행에 부지런히 XXE 공격이 응용 프로그램에 대한 가능성과 영향을 크게 줄일 수 있습니다. 다층 보안 접근법이 가장 효과적이라는 것을 기억하십시오.

    위 내용은 XXE (XML 외부 엔티티) 공격을 어떻게 방지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    Video Face Swap

    Video Face Swap

    완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

    중국어 버전, 사용하기 매우 쉽습니다.

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)

    휴대폰에서 XML을 PDF로 변환 할 때 변환 속도가 빠르나요? 휴대폰에서 XML을 PDF로 변환 할 때 변환 속도가 빠르나요? Apr 02, 2025 pm 10:09 PM

    모바일 XML에서 PDF의 속도는 다음 요인에 따라 다릅니다. XML 구조의 복잡성. 모바일 하드웨어 구성 변환 방법 (라이브러리, 알고리즘) 코드 품질 최적화 방법 (효율적인 라이브러리 선택, 알고리즘 최적화, 캐시 데이터 및 다중 스레딩 사용). 전반적으로 절대적인 답변은 없으며 특정 상황에 따라 최적화해야합니다.

    휴대 전화에서 XML 파일을 PDF로 변환하는 방법은 무엇입니까? 휴대 전화에서 XML 파일을 PDF로 변환하는 방법은 무엇입니까? Apr 02, 2025 pm 10:12 PM

    단일 애플리케이션으로 휴대 전화에서 직접 XML에서 PDF 변환을 완료하는 것은 불가능합니다. 두 단계를 통해 달성 할 수있는 클라우드 서비스를 사용해야합니다. 1. 클라우드에서 XML을 PDF로 변환하십시오. 2. 휴대 전화에서 변환 된 PDF 파일에 액세스하거나 다운로드하십시오.

    휴대 전화에서 XML을 PDF로 변환하는 방법은 무엇입니까? 휴대 전화에서 XML을 PDF로 변환하는 방법은 무엇입니까? Apr 02, 2025 pm 10:18 PM

    휴대 전화에서 XML을 PDF로 직접 변환하는 것은 쉽지 않지만 클라우드 서비스를 통해 달성 할 수 있습니다. 가벼운 모바일 앱을 사용하여 XML 파일을 업로드하고 생성 된 PDF를 수신하고 클라우드 API로 변환하는 것이 좋습니다. Cloud API는 Serverless Computing Services를 사용하고 올바른 플랫폼을 선택하는 것이 중요합니다. XML 구문 분석 및 PDF 생성을 처리 할 때 복잡성, 오류 처리, 보안 및 최적화 전략을 고려해야합니다. 전체 프로세스에는 프론트 엔드 앱과 백엔드 API가 함께 작동해야하며 다양한 기술에 대한 이해가 필요합니다.

    권장 XML 서식 도구 권장 XML 서식 도구 Apr 02, 2025 pm 09:03 PM

    XML 서식 도구는 규칙에 따라 코드를 입력하여 가독성과 이해를 향상시킬 수 있습니다. 도구를 선택할 때는 사용자 정의 기능, 특수 상황 처리, 성능 및 사용 편의성에주의하십시오. 일반적으로 사용되는 도구 유형에는 온라인 도구, IDE 플러그인 및 명령 줄 도구가 포함됩니다.

    Web.xml을 열는 방법 Web.xml을 열는 방법 Apr 03, 2025 am 06:51 AM

    Web.xml 파일을 열려면 다음 방법을 사용할 수 있습니다. 텍스트 편집기 (예 : 메모장 또는 문자 메시지)를 사용하여 통합 개발 환경 (예 : Eclipse 또는 NetBeans)을 사용하여 명령을 편집하십시오 (Windows : Notepad Web.xml; Mac/Linux : Open -A Texted web.xml).

    XML을 PDF로 변환 할 수있는 모바일 앱이 있습니까? XML을 PDF로 변환 할 수있는 모바일 앱이 있습니까? Apr 02, 2025 pm 08:54 PM

    XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

    XML을 그림으로 변환하는 방법 XML을 그림으로 변환하는 방법 Apr 03, 2025 am 07:39 AM

    XSLT 변환기 또는 이미지 라이브러리를 사용하여 XML을 이미지로 변환 할 수 있습니다. XSLT 변환기 : XSLT 프로세서 및 스타일 시트를 사용하여 XML을 이미지로 변환합니다. 이미지 라이브러리 : Pil 또는 Imagemagick와 같은 라이브러리를 사용하여 XML 데이터에서 이미지를 그리기 및 텍스트 그리기와 같은 이미지를 만듭니다.

    XML을 Word로 변환하는 방법 XML을 Word로 변환하는 방법 Apr 03, 2025 am 08:15 AM

    XML을 Word로 변환하는 세 가지 방법이 있습니다. Microsoft Word를 사용하거나 XML 변환기를 사용하거나 프로그래밍 언어를 사용하십시오.

    See all articles