Help
RSS
API
Feed
Maltego
Contact
Domain > dlenc.docuray.kr
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-12
15.165.212.117
(
ClassC
)
Port 80
HTTP/1.1 200 OKServer: nginx/1.18.0 (Ubuntu)Date: Thu, 12 Feb 2026 05:05:21 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Tue, 21 Apr 2020 14:09:01 GMTConnection: keep-aliveETag: 5e9efe7d-264Accept-Ranges: bytes !DOCTYPE html>html>head>title>Welcome to nginx!/title>style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; }/style>/head>body>h1>Welcome to nginx!/h1>p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required./p>p>For online documentation and support please refer toa hrefhttp://nginx.org/>nginx.org/a>.br/>Commercial support is available ata hrefhttp://nginx.com/>nginx.com/a>./p>p>em>Thank you for using nginx./em>/p>/body>/html>
Port 443
HTTP/1.1 200 Server: nginx/1.18.0 (Ubuntu)Date: Thu, 12 Feb 2026 05:05:22 GMTContent-Type: text/html;charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveSet-Cookie: JSESSIONID1897CF9744CBABB9B55E39149032E877; Path/; HttpOnlyContent-Language: ko !DOCTYPE html>html>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1, shrink-to-fitno> title> DocuRay /title> !-- Icon --> link relshortcut icon href/resources/favicon.ico/> !-- General CSS --> link relstylesheet href/resources/newUI/modules/bootstrap/css/bootstrap.min.css?renewal> link relstylesheet href/resources/newUI/modules/fontawesome/css/all.min.css?renewal> link relstylesheet href/resources/newUI/modules/izitoast/css/iziToast.min.css> !-- Custom CSS --> link relstylesheet href/resources/newUI/css/style.css?renewal&20210625_1> link relstylesheet href/resources/newUI/css/components.css?renewal&20200903_1> link relstylesheet href/resources/newUI/css/custom.css?renewal&20210624_1> /head>body idlogin-body> section> div idparticles-js classcontainer mt-5> div classrow> div classcol-12 col-sm-8 offset-sm-2 col-md-6 offset-md-3 col-lg-6 offset-lg-3 col-xl-4 offset-xl-4> div classlogin-brand mt-2 mb-3> img src/resources/newUI/img/logo_blue_2.png altlogo height40 width40 classshadow-light rounded-circle mb-3 mr-3> span classtext-light font-weight-bold stylefont-size: 40px;>DocuRay/span> /div> !-- 로그인 컨테이너 --> div classcard login-form border-0 idloginContainer> div classcard-header text-reset stylebackground-color: inherit !important;> h4>Login/h4> /div> div classcard-body> form methodPOST action/session/login idloginForm classneeds-validation novalidate> div classform-group> label forlogin-id>ID/label> input idlogin-id typetext classform-control required autofocus> input typehidden idform-login-id nameencodedLoginId> div classinvalid-feedback>아이디를 입력해주세요./div> /div> div classform-group> label forpassword classcontrol-label>Password/label> input idpassword typepassword classform-control required> input typehidden idform-login-pw nameencodedPassword> div classinvalid-feedback>비밀번호를 입력해주세요./div> /div> div classform-group mb-2> div classcustom-control custom-checkbox> input typecheckbox classcustom-control-input idremember-id> label classcustom-control-label remember-id forremember-id>아이디 저장/label> /div> div idlogin-fail-info classinvalid-feedback>/div> /div> div classform-group> button typebutton idloginBtn classbtn btn-primary btn-lg btn-block onclickvalidationCheck()>Login/button> /div> /form> /div> /div> !-- 2단계 인증 컨테이너 --> div classcard login-form border-0 d-none idmfaContainer> div classcard-header text-reset stylebackground-color: inherit !important;> h4>2단계 인증/h4> /div> div classcard-body> p classfs-12 idauthDesc>/p> div classform-group> label forverificationCode>인증 코드/label> input idverificationCode typetext classform-control required autofocus> div classmt-1 fs-12 text-danger idverificationCodeTimer>/div> a href# classfs-12 d-none idloginAgain onclickshowLoginScreen()>다시 로그인하기/a> /div> div classform-group> button typebutton idverifyBtn classbtn btn-primary btn-lg btn-block> 인증하기 /button> /div> a href# onclickshowLoginScreen()>취소/a> /div> /div> div classsimple-footer text-white>Copyright © 2004-span classnowYear>/span> BlueMoonSoft Co., Ltd. All rights reserved./div> /div> /div> /div> /section> script src/resources/newUI/modules/jquery-3.5.1/jquery-3.5.1.min.js?renewal>/script> script src/resources/newUI/modules/popper/js/popper.js?renewal&20200903_1>/script> script src/resources/newUI/modules/bootstrap/js/bootstrap.min.js?renewal>/script> script src/resources/newUI/modules/sweetalert/js/sweetalert.min.js?renewal>/script> script src/resources/newUI/modules/particles.js-master/particles.js?renewal>/script> script src/resources/newUI/modules/particles.js-master/js/app.js?renewal&20200928_5>/script> script src/resources/newUI/modules/izitoast/js/iziToast.min.js>/script> script src/resources/newUI/js/base64.js?renewal>/script> script src/resources/newUI/modules/babel/babel.min.js?renewal>/script> script src/resources/newUI/modules/babel/polyfill.min.js?renewal>/script> script src/resources/newUI/js/initlang.js?renewal>/script> script src/resources/newUI/js/bms-copyright.js?renewal>/script> script src/resources/newUI/js/bms-crypto.js?20240812>/script> script typetext/babel data-presetses2015,stage-2> // localStorage에 저장되는 Key 변수 선언 var drmRememberIdKey drmRememberIdFlag; var drmLoginIdKey drmLoginId; // 인증 코드 제한 시간 타이머 종료 시그널 var stopVerificationCodeTimerSign; // ContextPath 설정 window.contextPath ; $(function(){ setRememberId(); }); function setRememberId() { // localStorage에 저장되어 있는 아이디 기억하기 데이터 세팅 if(localStorage.getItem(drmRememberIdKey) true && localStorage.getItem(drmLoginIdKey) ! null){ $(#login-id).val(localStorage.getItem(drmLoginIdKey)); $(#remember-id).prop(checked, true); $(#password).focus(); } } // ID, PW 창에서 Enter 입력 시 로그인 버튼 클릭 이벤트 발생 $(#login-id, #password).on(keyup, function(event){ if(event.keyCode 13) validationCheck(); }); $(#verificationCode).on(keyup, function(event){ if(event.keyCode 13) $(#verifyBtn).click(); }); // 로그인 Validation 검사 async function validationCheck(){ var form $(#loginForm); // 로그인 실패 메세지 초기화 $(#login-fail-info).hide(); form.removeClass(was-validated); if(!form0.checkValidity()){ if($(#password).val() ) $(#password).focus(); if($(#login-id).val() ) $(#login-id).focus(); form.addClass(was-validated); return false; } var loginResult await login(); if(loginResult){ performLoginTasks(); } } function performLoginTasks(){ rememberId(); setIdNpwSecureEncoding(); // session에 sidebar 사용 여부 저장 (body에 클래스를 바로 적용하기 위해 사용) var sidebarMiniUseFlag localStorage.getItem(DRM_WEB_SIDEBAR_MINI) null ? false : localStorage.getItem(DRM_WEB_SIDEBAR_MINI); $.ajax({ url: /session/updateSidebarMini, method: post, data: {sidebarMiniUseFlag: sidebarMiniUseFlag} }); $(#loginForm).submit(); } // ID, PW 자체 인코딩 후 submit 데이터에 세팅 function setIdNpwSecureEncoding(){ $(#form-login-id).val(secureEncode(base64Encoding($(#login-id).val()), getRandomKeys())); $(#form-login-pw).val(secureEncode(base64Encoding($(#password).val()), getRandomKeys())); } // 로그인 function login(){ return new Promise(function(resolve, reject) { $.ajax({ url : /session/ajax/loginDuplicate, type : post, data : ({ encodedLoginId : secureEncode(base64Encoding($(#login-id).val()), getRandomKeys()), encodedPassword : secureEncode(base64Encoding($(#password).val()), getRandomKeys()), accessDocurayadminPage : false }), success : function(response) { if (response LOGIN_ERR_NOMATCH_ACCOUNT || response NO_MATCHED_ID || response TECH_SUPPORT_ACCOUNT) { $(#login-fail-info).text(존재하지 않은 아이디이거나 잘못된 비밀번호입니다.).show(); $(#password).val().focus(); resolve(false); } else if (response LOGIN_ERR_IPADDRESS) { $(#login-fail-info).text(허용된 IP가 아닙니다. 관리자에게 문의하십시오.).show(); $(#password).val(); resolve(false); } else if (response LOGIN_ERR_DISABLED_ACCOUNT || response ATTEMPT_WHILE_LOCKED) { $(#login-fail-info).text(로그인 계정이 비활성화 상태입니다. 관리자에게 문의하십시오.).show(); $(#password).val(); resolve(false); } else if (response LOGIN_ERR_DUPLICATE_ACCOUNT) { swal({ title: 중복 로그인, text: 해당 계정이 이미 로그인되어 있습니다. 접속된 사용자를 로그아웃시키고 로그인하시겠습니까?, icon: warning, buttons: true, dangerMode: true }).then(function(logoutFlag) { if(logoutFlag) { $.ajax({ url : session/forceLogout/ + base64Encoding($(#login-id).val()), type : post, success : function(response) { resolve(true); } }); } else { resolve(false); } }); } else if (response ACCOUNT_LOCKED) { var encodedLoginId secureEncode(base64Encoding($(#login-id).val()), getRandomKeys()); getLoginLockInfo(encodedLoginId); resolve(false); } else if (response EMAIL_AUTH_REQUIRED) { showEmailAuthScreen(); var endTime getVerificationCodeTimerEndTime(); updateVerificationCodeTimer(endTime); } else if (response EMAIL_SEND_ERROR) { swal({ icon: error, title: 로그인 실패, text: `이메일 인증 오류로 인해 로그인에 실패했습니다.이메일 전송 중 문제가 발생하였습니다.잠시 후 다시 시도하거나 관리자에게 문의해 주세요.`, }); } else if (response OTP_AUTH_REQUIRED) { showOtpAuthScreen(); } else if (response LOGIN_OK) { resolve(true); } else { console.log(response); $(#login-fail-info).text(페이지에 오류가 있습니다. 문제가 반복 발생하면 관리자에게 문의해주시기 바랍니다.).show(); resolve(false); } }, beforeSend : function() { $(#loginBtn).html(i classfas fa-spinner fa-spin>/i>); $(#login-id, #password, #remember-id, #loginBtn).addClass(disabled).prop(disabled, true); }, complete : function() { $(#loginBtn).html(Login); $(#login-id, #password, #remember-id, #loginBtn).removeClass(disabled).prop(disabled, false); } }); }); } // 아이디 기억하기 function rememberId(){ localStorage.setItem(drmRememberIdKey, $(#remember-id).prop(checked)); if($(#remember-id).prop(checked)) localStorage.setItem(drmLoginIdKey, $(#login-id).val()); else localStorage.removeItem(drmLoginIdKey); } function getLoginLockInfo(id) { $.ajax({ url : /session/ajax/getLoginLockInfo, type : post, data : {encodedLoginId : id }, success : function(response){ $(#login-fail-info).text(본 계정은 허용 로그인 실패 횟수를 초과하여 잠금 처리되었습니다. \n잠금 해제 예정 시간 : + response + ).show(); } }); } function showLoginScreen() { // 2단계 인증 타이머 초기화 stopVerificationCodeTimerSign true; // 로그인 폼 초기화 $(#loginForm)0.reset(); setRememberId(); // UI 변경 $(#loginContainer).removeClass(d-none); $(#mfaContainer).addClass(d-none); $(#login-id).focus(); } function showEmailAuthScreen() { // 2단계 인증 폼 초기화 resetMfaForm(); // UI 변경 $(#authDesc).text(등록된 이메일로 전송된 인증 코드를 입력해 주세요.); $(#verifyBtn).off(click).on(click, function(){ var verificationCode $(#verificationCode).val(); if(verificationCode ) { iziToast.error({ title: 인증 실패, message: 입력하신 인증 코드가 올바르지 않습니다. 코드를 확인하고 다시 시도해 주세요., position: topRight, timeout: 5000, displayMode: replace, layout: 2, transitionIn: bounceInUp }); $(#verificationCode).focus(); return; } $.ajax({ url: /session/ajax/verifyEmailCode, type: post, data: {loginId: $(#login-id).val(), verificationCode: verificationCode}, success: function(response){ if(response LOGIN_ERR_EMAIL_AUTH_FAILURE) { iziToast.error({ title: 인증 실패, message: 입력하신 인증 코드가 올바르지 않습니다. 코드를 확인하고 다시 시도해 주세요., position: topRight, timeout: 5000, displayMode: replace, layout: 2, transitionIn: bounceInUp }); $(#verificationCode).focus(); } else if(response LOGIN_ERR_DUPLICATE_ACCOUNT) { swal({ title: 중복 로그인, text: 해당 계정이 이미 로그인되어 있습니다. 접속된 사용자를 로그아웃시키고 로그인하시겠습니까?, icon: warning, buttons: true, dangerMode: true }).then(function(logoutFlag) { if(logoutFlag) { $.ajax({ url: session/forceLogout/ + base64Encoding($(#login-id).val()), type: post, success: function(response) { performLoginTasks(); } }); } else { showLoginScreen(); } }); } else if(response LOGIN_OK) { performLoginTasks(); } }, error: function(){ swal(인증 과정에서 문제가 발생했습니다. 화면을 새로고침 후 다시 시도하여 주십시오., {icon: warning}); } }); }); $(#loginContainer).addClass(d-none); $(#mfaContainer).removeClass(d-none); $(#verificationCode).focus(); } function showOtpAuthScreen() { // 2단계 인증 폼 초기화 resetMfaForm(); // UI 변경 $(#authDesc).text(OTP 앱에 표시된 인증 코드를 입력해 주세요.); $(#verifyBtn).off(click).on(click, function(){ var verificationCode $(#verificationCode).val(); if(verificationCode || isNaN(verificationCode)) { iziToast.error({ title: 인증 실패, message: 입력하신 인증 코드가 올바르지 않습니다. 코드를 확인하고 다시 시도해 주세요., position: topRight, timeout: 5000, displayMode: replace, layout: 2, transitionIn: bounceInUp }); $(#verificationCode).focus(); return; } $.ajax({ url: /session/ajax/verifyOtpCode, type: post, data: {loginId: $(#login-id).val(), verificationCode: verificationCode}, success: function(response){ if(response LOGIN_ERR_OTP_AUTH_FAILURE) { iziToast.error({ title: 인증 실패, message: 입력하신 인증 코드가 올바르지 않습니다. 코드를 확인하고 다시 시도해 주세요., position: topRight, timeout: 5000, displayMode: replace, layout: 2, transitionIn: bounceInUp }); $(#verificationCode).focus(); } else if(response LOGIN_ERR_DUPLICATE_ACCOUNT) { swal({ title: 중복 로그인, text: 해당 계정이 이미 로그인되어 있습니다. 접속된 사용자를 로그아웃시키고 로그인하시겠습니까?, icon: warning, buttons: true, dangerMode: true }).then(function(logoutFlag) { if(logoutFlag) { $.ajax({ url: session/forceLogout/ + base64Encoding($(#login-id).val()), type: post, success: function(response) { performLoginTasks(); } }); } else { showLoginScreen(); } }); } else if(response LOGIN_OK) { performLoginTasks(); } }, error: function(){ swal(인증 과정에서 문제가 발생했습니다. 화면을 새로고침 후 다시 시도하여 주십시오., {icon: warning}); } }); }); $(#loginContainer).addClass(d-none); $(#mfaContainer).removeClass(d-none); $(#verificationCode).focus(); } function resetMfaForm() { $(#loginAgain).addClass(d-none); $(#verificationCode).val().removeClass(disabled).prop(disabled, false); $(#verifyBtn).removeClass(disabled).prop(disabled, false); } function getVerificationCodeTimerEndTime() { // 타이머 종료 시간 계산 var minutes 5; var seconds 0; var endTime new Date().getTime() + minutes * 60000 + seconds * 1000; return endTime; } function updateVerificationCodeTimer(endTime) { if (stopVerificationCodeTimerSign) { $(#verificationCodeTimer).text(); stopVerificationCodeTimerSign false; return; } // 현재 시간 가져오기 var currentTime new Date().getTime(); // 남은 시간 계산 var remainingTime endTime - currentTime; // 남은 시간이 0 이하이면 타이머 종료 if (remainingTime 0) { $(#verificationCodeTimer).text(인증 시간이 만료되었습니다.); $(#loginAgain).removeClass(d-none); $(#verificationCode).addClass(disabled).prop(disabled, true); $(#verifyBtn).addClass(disabled).prop(disabled, true); return; } // 남은 시간을 분과 초로 계산 var remainingMinutes Math.floor(remainingTime / 60000); var remainingSeconds Math.floor((remainingTime % 60000) / 1000); // 시간 표시 형식 설정 var formattedMinutes remainingMinutes 10 ? 0 + remainingMinutes : remainingMinutes; var formattedSeconds remainingSeconds 10 ? 0 + remainingSeconds : remainingSeconds; // 타이머 텍스트 업데이트 $(#verificationCodeTimer).text(formattedMinutes + : + formattedSeconds); // 1초 후에 타이머 업데이트 함수 호출 setTimeout(function(){ updateVerificationCodeTimer(endTime); }, 1000); } /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]