Help
RSS
API
Feed
Maltego
Contact
Domain > webmail.biomedservice.it
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2021-03-08
96.45.83.78
(
ClassC
)
2024-09-13
217.73.233.89
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: Axigen-WebmailLocation: https://webmail.biomedservice.it:443Connection: Close !DOCTYPE html>html xmlnshttp://www.w3.org/1999/xhtml xml:langen langen>head> script typetext/javascript nonceAXI-SCRIPT-1965526srci18n_t.js>/script>script typetext/javascript nonceAXI-SCRIPT-1965526>// Generate the JS dictionary var Dictionary ;/script>title>Jestersoft WebMail/title> link relshortcut icon href/branding_show_photo.hsp?elementNamefaviconPhoto /> !-- Include custom login styles --> link relStyleSheet typetext/css hrefprivate/ajax/Libraries/Ext/resources/css/ext-all.css?v10523 /> link relStyleSheet typetext/css hrefprivate/ajax/Resources/css/axi-custom-scrollbar.css?v10523 /> link relStyleSheet typetext/css hrefcss/axigen-web-fonts.css?v10523 /> link relStyleSheet typetext/css hrefcss/style_ajax.css?v10523 /> link relStyleSheet typetext/css hrefcss/style_ajax_breeze.css?v10523 /> !-- Login JS functions --> script typetext/javascript nonceAXI-SCRIPT-1965526 srcjs/lib_login.js?v10523>/script> script typetext/javascript nonceAXI-SCRIPT-1965526> AxiUrl %%*%%:443; /script> script typetext/javascript nonceAXI-SCRIPT-1965526> Axi {AccountInfo: {languageDirection: ltr}}; /script>/head>body classlang-en theme-breeze >script typetext/javascript nonceAXI-SCRIPT-1965526> // Ensure login screen gets rendered in the top level frame if (top ! window) { top.document.location.href document.location.href; }/script>noscript>div classerrorContainer> div classcontent> h1>In order to access Jestersoft Webmail, br />you must enable Javascript in your browser!/h1> /div>/div>/noscript>div classerrorContainer idcookiesDisabled> div classcontent> h1>In order to access Jestersoft Webmail, br />you must enable Cookies in your browser!/h1> /div>/div>!-- main container -->div classmain-container> div classcenter-container> div classlogostylebackground-image: url(/branding_show_photo.hsp?elementNameajaxPublicPhoto);>/div> h1> Jestersoft WebMail/h1> h2> Log in to your Jestersoft email account/h2> div classform-container loading idform-container> /div> /div> div classfootnote> p>Switch to a titleStandard Interface href/ onclickswitchInterface(axi_login_settings_cookie, standard)>Standard Interface/a>/p> div idlanguage-container>/div> /div> /div>div classfooter-container> p classpowered-by>Powered by a targetblank hrefhttps://www.axigen.com/?utm_sourceproduct&utm_mediumwebmail&utm_campaignwebmail_login_page_en>Axigen/a>/p> p classcopyright>Email, calendaring, and collaborationbr />Total privacy, high availability, and scalability/p>/div>!-- Display preloader -->div idloading-mask classx-axi-loading-mask> div classloading-spinner medium>svg classcircular viewBox25 25 50 50>circle classpath cx50 cy50 r20 fillnone stroke-width6 stroke-miterlimit10>/circle>/svg>/div> /div>script typetext/javascript nonceAXI-SCRIPT-1965526 srcprivate/ajax/Libraries/Ext/adapter/ext/ext-base.js?v10523>/script>script typetext/javascript nonceAXI-SCRIPT-1965526 srcprivate/ajax/Libraries/Ext/ext-all.js?v10523>/script>script typetext/javascript nonceAXI-SCRIPT-1965526 srcprivate/ajax/Libraries/Axi/ext-fixes.js?v10523>/script>script typetext/javascript nonceAXI-SCRIPT-1965526 srcprivate/ajax/Libraries/Axi/Ext/widgets/layout/FormLayout.js?v10523>/script>script typetext/javascript nonceAXI-SCRIPT-1965526 srcprivate/ajax/Classes/Messenger.js?v10523>/script>script typetext/javascript nonceAXI-SCRIPT-1965526 srcprivate/ajax/Libraries/Axi/Axi.js?v10523>/script>script typetext/javascript nonceAXI-SCRIPT-1965526> // redirect if browser is too old if (Ext.isOldIE) { window.location.href https://www.axigen.com/go/product-webmail-ie-not-supported; }/script>!-- Theme Mode -->script typetext/javascript nonceAXI-SCRIPT-1965526 srcjs/lib_thememode.js?v10523>/script>script typetext/javascript nonceAXI-SCRIPT-1965526> new ThemeMode(getCookie(themeMode));/script>!-- Include security patches -->script typetext/javascript nonceAXI-SCRIPT-1965526 srcjs/CSP/CSP.js?v10523>/script>script nonceAXI-SCRIPT-1965526> CSP.fixInlineClickHandlers();/script>script typetext/javascript nonceAXI-SCRIPT-1965526>Ext.onReady(function(){ var loginBut; //Check if browser accepts cookies if (!cookiesAllowed()) { var container Ext.DomQuery.selectNode(#cookiesDisabled); if (container) container.style.display flex; } removeCookie(checkOverQuota); removeCookie(passwordExpireWarning); Ext.BLANK_IMAGE_URL /images/dot.gif; Ext.QuickTips.init(); var messenger new Axi.Messenger(); var getFormFieldValue function (name) { var result ; var domains ; var form_no remember; // Commenting the code below in order to // prevent IE & FF to not display the form fields and/or button when refreshing after server restart /* if (Ext.isGecko && document.formsform_no.password.value ! && ((document.formsform_no.username && document.formsform_no.username.value ! ) || (document.formsform_no.domainname && document.formsform_no.domainname.value ! ))) { switch(name) { case username: if (document.formsform_no.username && document.formsform_no.username.value ! ) { result document.formsform_no.username.value; } break; case password: if (document.formsform_no.password.value ! && getFormFieldValue(username)) { result document.formsform_no.password.value; } break; case domainname: if (document.formsform_no.domainname && document.formsform_no.domainname.value ! && domains.indexOf(document.formsform_no.domainname.value) ! -1) { result document.formsform_no.domainname.value; } break; } } else { */ switch(name) { case username: result (typeof cookieUsername ! undefined && cookieUsername)?cookieUsername: break; case password: break; case domainname: result (typeof cookieDomain ! undefined && cookieDomain)?cookieDomain:; break; } // } return result; } // Remove preloader setTimeout(function(){ Ext.get(loading-mask).fadeOut({remove:true}); Ext.get(form-container).removeClass(loading); setTimeout(function(){ Ext.get(form-container).addClass(loaded); }, 200); }, 250); var loginActions { method:POST, // Functions that fire (success or failure) when the server responds. // The one that executes is determined by the // response that comes from login.asp as seen below. The server would // actually respond with valid JSON, // something like: response.write { success: true} or // response.write { success: false, errors: { reason: Login failed. Try again. }} // depending on the logic contained within your server script. // If a success occurs, the user is notified with an alert messagebox, // and when they click OK, they are redirected to whatever page // you define as redirect. success: function (elem, data) { // hide axi preloader login.preloaderStop(false); // Remember Login var rememberLogin Ext.getCmp(rememberLogin); var usernameCmp Ext.getCmp(username); if (usernameCmp) var username usernameCmp.getValue(); var domainnameCmp Ext.getCmp(domainname); if (domainnameCmp) var domainname domainnameCmp.getValue(); var rawUsername username; if (domainname) rawUsername + @ + domainname; if (rememberLogin && rememberLogin.getValue()) { setCookie(AXIWMRememberLogin, rawUsername); } else { removeCookie(AXIWMRememberLogin); } var response Ext.decode(data.response.responseText); var _h response.sessionKey; var redirect /?_h + _h; window.location redirect; }, // Failure function, see comment above re: success and failure. // You can see here, if login fails, it throws a messagebox // at the user telling him / her as much. failure:function(form, action){ // hide axi preloader login.preloaderStop(); var obj Ext.util.JSON.decode(action.response.responseText); if (obj && obj.passwordExpired) { if (obj.passwordUnchangeable) { return messenger.error(t(Your password has expired. Please contact the administrator in order to get a new one.)); } var redirectUrl /?passwordExpiredyes&username + obj.username; if (obj.domainname) { redirectUrl + &domainName+ obj.domainname; } document.location.href redirectUrl; return; } if (action.failureType server) { Axi.Messenger.getInstance().error(t(obj.errors.reason)); if (obj.errors.code MLIST_NOT_SUPPORTED) { Ext.Ajax.request({ url: /?_h + obj.errors.sessionKey + &actionlogout }); } } else { Axi.Messenger.getInstance().error(t(Unable to connect to server!)); } // Show / reset CAPTCHA as required Captcha.onChange(true); } } // Basic focus manager FocusManager { order: username, password, connectionType,login , fields: {}, activeField: null, add: function (cmp) { //console.log(ADD, cmp.name); cmp.on(focus, function () { FocusManager.activeField cmp; }); FocusManager.fieldscmp.name cmp; }, setActive: function (f) { //console.log(SETACTIVE, f.name); FocusManager.activeField f; f.focus.defer(1, f); }, goto: function (step) { //console.log(GOTO, step); var cid FocusManager.activeField.name; for (var idx 0; idx FocusManager.order.length && FocusManager.orderidx ! cid; ++idx); //console.log(GOTO, found + idx); idx + step; if (idx > FocusManager.order.length) { idx 0; } else if (idx 0) { idx FocusManager.order.length - 1; } //console.log(GOTO, goto + idx); return FocusManager.fieldsFocusManager.orderidx; }, next: function () { //console.log(NEXT); FocusManager.setActive(FocusManager.goto(1)); }, prev: function () { //console.log(PREV); FocusManager.setActive(FocusManager.goto(-1)); } }; Ext.EventManager.on(document, keydown, function (e) { if (Ext.EventObject.TAB ! e.getKey()) { return; } if (e.shiftKey) { FocusManager.prev(); } else { FocusManager.next(); } e.stopEvent(); }); Ext.EventManager.on(document, keydown, function (e) { if (Ext.EventObject.ENTER ! e.getKey()) { return; } // Block any other submit action for 100ms login.nosubmit true; (function () { login.nosubmit false; }).defer(100); // Extra validation for the ENTER key var passwordField login.getForm().findField(password); if (e.getTarget().id username && !passwordField.getValue()) { FocusManager.setActive(passwordField); return; } login.axisubmit(); }); // Create a variable to hold our EXT Form Panel. // Assign various config options as seen. var login new Ext.FormPanel({ labelWidth: 80, url:/?actionlogin&customajax, frame: false, labelWidth: 70, renderTo: Ext.get(form-container), monitorValid:true, preloaderStart: function() { // make sure no messages are visible & show Axi preloader Axi.Messenger.getInstance().clearMessages(); Axi.Util.preloaderStart({ msg: t(Logging in...) }); if (loginBut) loginBut.getEl().dom.className + x-item-disabled; }, preloaderStop: function(enableButton) { Axi.Util.preloaderStop(); if (enableButton ! false) { if (loginBut) loginBut.getEl().dom.className loginBut.getEl().dom.className.replace(/ x-item-disabled/ig, ); } }, /** * Validate and submit form * @param {Boolean} runfalse * @return {Boolean} */ axisubmit: function (run) { // Prevent multiple form submits if (!run) { window.clearTimeout(this._tid); this._tid (function () { this.axisubmit(true); }).defer(100, this); return; } var field; var errors ; var values this.getForm().getValues(); var domainname this.getForm().findField(domainname); if (domainname && !domainname.getValue()) { var rawEl Ext.DomQuery.selectNode(inputnamedomainname); if (rawEl && rawEl.value ! t(select a domain)) { domainname.setValue(rawEl.value); } } if (!valuesusername) { errors.push({ id: username, msg: t(This field is required) }); if (typeof field undefined) { if (field this.getForm().findField(username)) { FocusManager.setActive(field); } } } if (!valuespassword) { errors.push({ id: password, msg: t(This field is required) }); if (typeof field undefined) { if (field this.getForm().findField(password)) { FocusManager.setActive(field); } } } if (!valuesusername || !valuespassword) { Axi.Messenger.getInstance().error(t(Please fill in both your username and your password.)); } if (errors.length) { this.getForm().markInvalid(errors); return false; } /** * CAPTCHA */ var _this this; Captcha.isValid(function (error, isValid) { if (!error && isValid) { _this.getForm().submit(loginActions); _this.preloaderStart(); } }); return false; }, // Specific attributes for the text fields for username / password. // The name attribute defines the name of variables sent to the server. items: { xtype: fieldset, cls: x-axi-fieldset x-axi-login-fieldset, autoHeight: true, items: { layout: axiform, items: { xtype: textfield, autoCreate: {tag: input}, id: username, fieldLabel: , labelSeparator: , labelPlaceholder: t(Username), cls: x-axi-textfield ltr-forced text-align-right, itemCls: x-axi-label x-axi-link-username-label , name: username, value: getFormFieldValue(username), anchor: 100%, allowBlank: true, listeners: { change: function (cmp) { cmp.setValue(cmp.getValue().trim()); Captcha.onChange(); }, render: function (cmp) { FocusManager.add(cmp); if (!cmp.value) FocusManager.setActive(cmp); } } } }, { layout: axiform, items: { xtype: textfield, autoCreate: {tag: input}, id: password, fieldLabel: , labelSeparator: , labelPlaceholder: t(Password), cls: x-axi-textfield x-axi-password, itemCls: x-axi-label, name: password, inputType: password, value: getFormFieldValue(password), anchor: 100%, allowBlank: true, enableKeyEvents: true, firstcharPressed: false, capsMessageSent: false, listeners: { render: function(cmp) { FocusManager.add(cmp); if (getFormFieldValue(username)) FocusManager.setActive(cmp); }, keydown: function(p, e) { charCode e.getCharCode(); if( this.firstcharPressed && charCode 20 ) { this.el.toggleClass(x-axi-password-caps); if( !this.capsMessageSent && this.el.hasClass(x-axi-password-caps) ) { this.capsMessageSent true; Axi.Messenger.getInstance().warn(t(Caps Lock is ON.)); } } }, keypress: function(p, e) { charCode e.getCharCode(); if (charCode 64 || charCode > 123 || (charCode > 91 && charCode 96)) { return; } this.firstcharPressed true; if( (e.shiftKey && charCode > 97 && charCode 122) || (!e.shiftKey && charCode > 65 && charCode 90) ){ if( !this.capsMessageSent ) { this.capsMessageSent true; Axi.Messenger.getInstance().warn(t(Caps Lock is ON.)); } this.addClass(x-axi-password-caps) } else { this.removeClass(x-axi-password-caps) } } } } }, { cls: x-axi-captcha-container, items: { id: captcha-img, hidden: true, xtype: box, autoEl: { tag: img, src: , cls: x-axi-captcha-image } }, { id: captcha-reload, hidden: true, xtype: box, autoEl: { tag: a, cls: x-axi-captcha-reload, html: } } }, { id: captcha-text, hidden: true, layout: column, listeners: { show: function (cmp) { Captcha.focus(); } }, items: { layout: axiform, items: { xtype: textfield, autoCreate: { tag: input }, id: captchaText, fieldLabel: , labelSeparator: , labelPlaceholder: t(Enter the text in the image), cls: x-axi-textfield, itemCls: x-axi-label, name: captchaText, value: getFormFieldValue(captchaText), anchor: 100%, allowBlank: true, listeners: { render: function(cmp) { FocusManager.add(cmp); } } } } }, { xtype: hidden, id: captchaId, name: captchaId, value: }, { xtype: textfield, inputType: submit, hideLabel: true, type: submit, name: login, value: t(Log in), ctCls: x-axi-button, listeners: { render: function (cmp) { loginBut this; cmp.getEl().dom.parentNode.parentNode.className + x-axi-button-container; Ext.EventManager.on(cmp.getEl().dom.parentNode, mousedown, function () { cmp.getEl().dom.parentNode.parentNode.className + x-axi-button-click; }); Ext.EventManager.on(cmp.getEl().dom.parentNode, mouseup, function () { cmp.getEl().dom.parentNode.parentNode.className cmp.getEl().dom.parentNode.parentNode.className.replace(/ x-axi-button-click/ig, ); }); Ext.EventManager.on(cmp.getEl().dom.parentNode, mouseover, function () { cmp.getEl().dom.parentNode.parentNode.className + x-axi-button-over; }); Ext.EventManager.on(cmp.getEl().dom.parentNode, mouseout, function () { cmp.getEl().dom.parentNode.parentNode.className cmp.getEl().dom.parentNode.parentNode.className.replace(/ x-axi-button-over/ig, ); cmp.getEl().dom.parentNode.parentNode.className cmp.getEl().dom.parentNode.parentNode.className.replace(/ x-axi-button-click/ig, ); }); Ext.EventManager.on(cmp.getEl(), click, function (e, el) { //Check if browser accepts cookies if (!cookiesAllowed()) { var container Ext.DomQuery.selectNode(#cookiesDisabled); if (container) { container.style.display block; } // Ext triggers this click event on submit, so // any other submit action (i.e. ENTER) must block // this behaviour } else if (!login.nosubmit) { login.axisubmit(); } }); FocusManager.add(cmp); } } }, { xtype: panel, height: 21, html: }, { layout: column, cls: x-axi-link-username-password, items: { }, { } }, { layout: column, cls: x-axi-secure-unsecure-container, items: { cls: x-axi-links-container, layout: form, items: { xtype: button, cls: x-axi-link x-axi-link-secure, text: t(Secure login), name: connectionType, listeners: { click: function () { if (!AxiUrl) return; window.location urlRedirect(AxiUrl, https) }, render: function (cmp) { FocusManager.add(cmp); } } } } }, { xtype: hidden, autoCreate: { tag: input, autocomplete: on, type: hidden }, name: domainname, id: domainname, value: } } }); var Captcha { form: null, isRequired: null, isRequiredQueried: false, init: function () { this.form login; Ext.getCmp(captcha-reload).getEl().on(click, function () { Captcha.show(); }); }, onChange: function (failedLogin) { Captcha.noFocus !!failedLogin; // Ensure the CAPTCHA text field is empty if (!failedLogin) { this.form.getForm().findField(captchaText).setValue(); } // Reset CAPTCHA this.isRequired null; this.isRequiredQueried false; this.queryIsRequired(); }, isValid: function (callback) { // Check if CAPTCHA is required, optionally handling the // asynchronous communication callback if (!this.isRequiredQueried) { this.queryIsRequired(function (error) { if (!callback) { return; } if (error) { return callback(error); } callback(false, Captcha.isValid()); }); return false; } // Login without CAPTCHA if (!this.isRequired) { return callback ? callback(false, true) : true; } var values this.form.getForm().getValues(); var captchaShown Ext.getCmp(captcha-text).isVisible(); var hasCaptcha !!valuescaptchaText; // CAPTCHA already shown but not filled in if (captchaShown && !hasCaptcha) { Axi.Messenger.getInstance().error( t(Please fill in the CAPTCHA field.) ); Captcha.focus(); return callback ? callback(false, false) : false; // Login with CAPTCHA } else if (hasCaptcha) { var captchaId getCookie(_captchaid); if (captchaId) { Ext.getCmp(captchaId).setValue(captchaId); } return callback ? callback(false, true) : true; } return callback ? callback(false, false) : false; }, queryIsRequired: function (callback) { var values this.form.getForm().getValues(); Ext.Ajax.request({ url: /captcha.hsp?actionisRequired&username + encodeURIComponent(valuesusername), callback: function (o, success, response) { if (!success || !response.responseText) { Axi.Messenger.getInstance().error( t(Unable to connect to server!) ); return callback ? callback(true) : false; } var data Ext.util.JSON.decode(response.responseText); if (0 ! data.status) { Axi.Messenger.getInstance().error( t(Login failed. Try again.) ); return callback ? callback(true) : false; } // Show CAPTCHA this.isRequired data.isRequired; this.isRequiredQueried true; if (data.isRequired) { this.show(); } if (callback) { callback(false); } }, scope: this }); }, show: function () { var values this.form.getForm().getValues(); Ext.getCmp(captcha-img).getEl().set({ src: /captcha.hsp?actionshow&username + valuesusername + &t + new Date().getTime() }); Ext.getCmp(captcha-img).show(); Ext.getCmp(captcha-reload).show(); Ext.getCmp(captcha-text).show(); // Update FocusManagers order var spliceIdx -1; for (var i 0; i FocusManager.order.length; ++i) { if (password FocusManager.orderi) { spliceIdx i + 1; break; } } if (spliceIdx > 0) { FocusManager.order.splice(spliceIdx, 0, captchaText); } }, focus: function () { if (Captcha.noFocus) { Captcha.noFocus false; return; } var basicForm this.form.getForm(); var usernameField basicForm.findField(username); var passwordField basicForm.findField(password); var captchaField basicForm.findField(captchaText); if (usernameField.getValue() && passwordField.getValue()) { FocusManager.setActive(captchaField); } } }; Captcha.init(); // Ensure the language cookie is set switchLanguage(public_language, en); // Generate the languages data array var languages ; languages.push(ar, اللغة العربية); languages.push(bg, Български); languages.push(ca, Català); languages.push(cs, Čeština); languages.push(da, Dansk); languages.push(de, Deutsch); languages.push(en, English); languages.push(es, Español); languages.push(fa, فارسی); languages.push(fi, Suomi); languages.push(fr, Français); languages.push(he, עִבְרִית); languages.push(hi, हिन्दी); languages.push(hr, Hrvatski); languages.push(hu, Magyar); languages.push(id, Bahasa Indonesia); languages.push(it, Italiano); languages.push(ja, 日本語); languages.push(ko, 한국어); languages.push(lv, Latviešu); languages.push(mk, македонски); languages.push(nl, Nederlands); languages.push(no, Norsk); languages.push(pl, Polski); languages.push(pt, Português); languages.push(ro, Română); languages.push(ru, Русский); languages.push(sk, Slovenčina); languages.push(sv, Svenska); languages.push(th, ภาษาไทย); languages.push(tk, Türkmençe); languages.push(tr, Türkçe); languages.push(uk, Українська); languages.push(zh-cn, 简体中文); languages.push(zh-tw, 繁體中文); // Build the languages combo store var languagesStore ; for (var i 0; i languages.length; ++i) { var entry languagesi; var lang entry0; var name entry1; name name.replace(/-9+;*/ig, function (chr) { return String.fromCharCode(chr.replace(//ig, )); }); languagesStore.push( lang, name ); } // Sort the language store taking into account unicode names languagesStore.sort(function (a, b) { return a1.localeCompare(b1, en); }); new Ext.form.ComboBox({ renderTo: language-container, store: languagesStore, triggerAction: all, editable: true, lazyInit: true, minChars: 0, mode: local, disableKeyFilter: true, forceSelection: true, listAlign: bl-tl, width: 125, maxHeight: 430, ctCls: x-axi-combo en-flag, cls: x-axi-language-combo, listClass: x-axi-combo-list x-axi-language-list, selectedClass: x-axi-item-selected, renderedClasses: false, listeners: { expand: function (cmp) { if (cmp.renderedClasses) return; // HACK to inject language dependent flag classes var listOptions cmp.list.query(.x-combo-list-item); cmp.store.each(function (item, index, length) { listOptionsindex.className + + item.get(value) + -flag; }); cmp.renderedClasses true; }, select: function (combo, record, index) { var lang record.get(value); var ct combo.getEl().findParent(.x-axi-combo); var cls ct.className.match(/a-z+-flag/); if (cls null) { return false; } cls cls0; Ext.fly(ct).removeClass(cls); Ext.fly(ct).addClass(lang + -flag); // Set cookie and reload page switchLanguage(public_language, lang); document.location.href /; }, collapse: function (cmp) { cmp.setRawValue( languagesStore.filter(function (el) { return el0 cmp.getValue()} )01 ); } }, name: language, value: en }); });/script>form nameremember styledisplay: none;>input typetext nameusername/>input typepassword namepassword/>/form>/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
]