Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.11.2019, 00:34
Новичок на форуме
Отправить личное сообщение для thegodzila Посмотреть профиль Найти все сообщения от thegodzila
 
Регистрация: 30.09.2019
Сообщений: 7

Увели iCloud через javascript помогите разобраться!!!
Здравствуйте. маленькая предъистория: потерял айфон, в приложении локатор включил режим пропажи, далее ждал пока iPhone x включат и он найдется, указал свой телефон. Через два дня приходит смс на указанный мною номер с примерным текстом " Ваш телефон обнаружен пройдите по ссылке http://locator-apple.com/?findmy=354876094451866 ", подумал сначала, что это обычный фишинг. Потом из любопытства решил зайти по ссылке с ноутбука. Захожу вижу, что я попадаю на сайт https://www.icloud.com/find c подписанным ssl сертификатом. Потом зашел еще собственноручно на https://www.icloud.com/find. Меня отвлекли по работе и я перепутал странички и ввел пароль, на той где был редирект на https://www.icloud.com/find (http://locator-apple.com/?findmy=354876094451866). Позже понял что все мои устройства отвязаны от учетной записи и телефон угнан. После нехитрых манипуляций я нашел файл который загружается при загрузке http://locator-apple.com/?findmy=354876094451866, потом идет редирект на iCloud.com/find В чем собственно и вопрос что делает этот скрипт? и как он может быть исполнен после редиректа на страничку iCloud с сертификатом и защитой https. Текст файла ниже. очень интересно как такое возможно.
Ответить с цитированием
  #2 (permalink)  
Старый 29.11.2019, 00:36
Новичок на форуме
Отправить личное сообщение для thegodzila Посмотреть профиль Найти все сообщения от thegodzila
 
Регистрация: 30.09.2019
Сообщений: 7

<!DOCTYPE html>
<html>

<head>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<script>
function getCurrentTimeForPerformance() {
var perf = window.performance;
if (perf && perf.now) {
return Math.round(perf.now())
} else {
return Date.now()
}
}
var SC_benchmarkPreloadEvents = {
headStart: getCurrentTimeForPerformance()
};
</script>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<meta name="description" content="Определите геопозицию утерянного iPhone, iPad, iPod touch или Mac, удаленно заблокируйте устройство и сотрите с него все данные для защиты личной информации."
/>
<link rel="apple-touch-icon" href="/applications/find/1920Project37/sproutcore/foundation/1920Project37/ru-ru/source/resources/images/apple-touch-icon.png"
/>
<title>
Find My iPhone
</title>
<script>
BUILD_INFO = {
buildMode: "production",
buildNumber: "1920Project37",
masteringNumber: "1920B32",
buildLocale: "ru-ru",
currentUrl: "/applications/find/1920Project37/ru-ru/index.html",
useRelativeUrls: false,
styles: {
x2: ["/applications/find/1920Project37/ru-ru/stylesheet@2x-packed.css"],
normal: ["/applications/find/1920Project37/ru-ru/stylesheet-packed.css"]
},
images: {
x2: ["/applications/find/1920Project37/ru-ru/packed-1@2x.png", "/applications/find/1920Project37/ru-ru/packed-2@2x.png", "/applications/find/1920Project37/ru-ru/packed-3@2x.png", "/applications/find/1920Project37/ru-ru/packed-4@2x.png", "/applications/find/1920Project37/ru-ru/packed-5@2x.png"],
normal: ["/applications/find/1920Project37/ru-ru/packed-1.png", "/applications/find/1920Project37/ru-ru/packed-2.png", "/applications/find/1920Project37/ru-ru/packed-3.png", "/applications/find/1920Project37/ru-ru/packed-4.png", "/applications/find/1920Project37/ru-ru/packed-5.png"]
}
};
Ответить с цитированием
  #3 (permalink)  
Старый 29.11.2019, 00:36
Новичок на форуме
Отправить личное сообщение для thegodzila Посмотреть профиль Найти все сообщения от thegodzila
 
Регистрация: 30.09.2019
Сообщений: 7

</script>
<script type="text/javascript">
String.preferredLanguage = "ru-ru";
</script>
<script type="text/javascript">
if (!window.BUILD_INFO) {
BUILD_INFO = {
useRelativeUrls: false,
currentUrl: window.location.pathname
}
}
window.SC = window.SC || {
MODULE_INFO: {},
LAZY_INSTANTIATION: {},
buildMode: BUILD_INFO.buildMode,
buildNumber: BUILD_INFO.buildNumber,
masteringNumber: BUILD_INFO.masteringNumber,
buildLocale: BUILD_INFO.buildLocale
};
window.SC = window.SC || {
MODULE_INFO: {},
LAZY_INSTANTIATION: {}
};
SC._detectBrowser = function(userAgent, language) {
var version, webkitVersion, isEdge, iOSAgent, iOSDevice, iOSMajorVersion, iOSMinorVersion, browser = {};
userAgent = (userAgent || navigator.userAgent).toLowerCase();
language = language || navigator.language || navigator.browserLanguage;
isEdge = /\sedge\//.test(userAgent);
if (isEdge) {
version = (userAgent.match(/(?:edge\/)([\d\.]*)/) || [])[1]
} else {
version = (userAgent.match(/.*(?:rv|chrome|webkit|opera|ie)[\/: ](.+?)([ \);]|$)/) || [])[1]
}
browser.version = version;
webkitVersion = (userAgent.match(/webkit\/(.+?) /) || [])[1];
browser.windows = browser.isWindows = !! /windows/.test(userAgent);
browser.lion = browser.isLion = !! (/mac os x 10[_\.][7-9]/.test(userAgent) && !/like mac os x 10[_\.][7-9]/.test(userAgent));
browser.android = browser.isAndroid = !! /android/.test(userAgent);
browser.silk = browser.isSilk = !! /silk/.test(userAgent);
browser.opera = /opera/.test(userAgent) ? version : 0;
browser.isOpera = !! browser.opera;
browser.msie = /msie \d+\.\d+|trident\/\d+\.\d.*; rv:\d+\.\d+[;\)]/.test(userAgent) && !browser.opera ? version : 0;
browser.isIE = !! browser.msie;
browser.isIE8OrLower = !! (browser.msie && parseInt(browser.msie, 10) <= 8);
browser.isIE9OrLower = !! (browser.msie && parseInt(browser.msie, 10) <= 9);
browser.isIE10OrLower = !! (browser.msie && parseInt(browser.msie, 10) <= 10);
browser.isIE10 = !! (browser.msie && parseInt(browser.msie, 10) === 10);
browser.isIE11 = !! (browser.msie && parseInt(browser.msie, 10) === 11);
browser.edge = isEdge ? version : 0;
browser.isEdge = isEdge;
browser.mozilla = !isEdge && /mozilla/.test(userAgent) && !/(compatible|webkit|msie|trident)/.test(userAgent) ? version : 0;
browser.isMozilla = !! browser.mozilla;
browser.webkit = (!isEdge && /webkit/.test(userAgent)) ? webkitVersion : 0;
browser.isWebkit = !! browser.webkit;
browser.chrome = !isEdge && /chrome/.test(userAgent) ? version : 0;
browser.isChrome = !! browser.chrome;
var probablyMac = !! /macintosh/.test(userAgent) || (/mac os x/.test(userAgent) && !/like mac os x/.test(userAgent));
var supportsTouch = navigator.maxTouchPoints > 0;
var isDesktopClassIpad = probablyMac && supportsTouch && !browser.isChrome;
iOSAgent = userAgent.split(/\s*[(]\s*/) || [];
iOSDevice = iOSAgent[1];
iOSDeviceVersion = iOSAgent[2] ? iOSAgent[2].match(/(\d{1,})_(\d{1,})/i) : null;
if (isDesktopClassIpad) {
iOSMajorVersion = 13;
iOSMinorVersion = 0
} else {
iOSMajorVersion = iOSDeviceVersion ? iOSDeviceVersion[1] : null;
iOSMinorVersion = iOSDeviceVersion ? iOSDeviceVersion[2] : null
}
browser.mac = browser.isMac = probablyMac && !isDesktopClassIpad;
browser.iPhone = browser.isiPhone = (iOSDevice === "iphone");
browser.iPod = browser.isiPod = (iOSDevice && iOSDevice.indexOf("ipod") > -1);
browser.iPad = browser.isiPad = (iOSDevice === "ipad") || isDesktopClassIpad;
browser.iOS = browser.isiOS = browser.iPhone || browser.iPod || browser.iPad;
browser.iOSMajorVersion = browser.iOS ? iOSMajorVersion * 1 : undefined;
browser.iOSMinorVersion = browser.iOS ? iOSMinorVersion * 1 : undefined;
browser.mobileSafari = (/apple.*mobile/.test(userAgent) && browser.iOS ? webkitVersion : 0) || isDesktopClassIpad;
browser.isMobileSafari = !! browser.mobileSafari;
browser.iPadSafari = browser.iPad && browser.isMobileSafari ? webkitVersion : 0;
browser.isiPadSafari = !! browser.iPadSafari;
browser.iPhoneSafari = browser.iPhone && browser.isMobileSafari ? webkitVersion : 0;
browser.isiPhoneSafari = !! browser.iphoneSafari;
browser.iPodSafari = browser.iPod && browser.isMobileSafari ? webkitVersion : 0;
browser.isiPodSafari = !! browser.iPodSafari;
browser.isiOSHomeScreen = browser.isMobileSafari && !/apple.*mobile.*safari/.test(userAgent);
browser.safari = browser.webkit && !browser.chrome && !browser.iOS && !browser.android ? webkitVersion : 0;
browser.isSafari = !! browser.safari;
browser.language = language.split("-", 1)[0];
browser.current = browser.edge ? "edge" : browser.msie ? "msie" : browser.mozilla ? "mozilla" : browser.chrome ? "chrome" : browser.safari ? "safari" : browser.opera ? "opera" : browser.mobileSafari ? "mobile-safari" : browser.android ? "android" : "unknown";
return browser
};
SC.browser = SC._detectBrowser();
if (typeof SC_benchmarkPreloadEvents !== "undefined") {
SC.benchmarkPreloadEvents = SC_benchmarkPreloadEvents;
SC_benchmarkPreloadEvents = undefined
} else {
SC.benchmarkPreloadEvents = {
headStart: new Date().getTime()
}
}
Ответить с цитированием
  #4 (permalink)  
Старый 29.11.2019, 00:37
Новичок на форуме
Отправить личное сообщение для thegodzila Посмотреть профиль Найти все сообщения от thegodzila
 
Регистрация: 30.09.2019
Сообщений: 7

SC.setupBodyClassNames = function() {
var el = document.body,
browser, platform, shadows, borderRad, classNames, style, ieVersion;
if (!el) {
return
}
browser = SC.browser.current;
platform = SC.browser.windows ? "windows" : SC.browser.mac ? "mac" : "other-platform";
style = document.documentElement.style;
shadows = (style.MozBoxShadow !== undefined) || (style.webkitBoxShadow !== undefined) || (style.oBoxShadow !== undefined) || (style.boxShadow !== undefined);
borderRad = (style.MozBorderRadius !== undefined) || (style.webkitBorderRadius !== undefined) || (style.oBorderRadius !== undefined) || (style.borderRadius !== undefined);
classNames = el.className ? el.className.split(" ") : [];
if (shadows) {
classNames.push("box-shadow")
}
if (borderRad) {
classNames.push("border-rad")
}
classNames.push(browser, platform);
ieVersion = parseInt(SC.browser.msie, 10);
if (ieVersion) {
if (ieVersion === 7) {
classNames.push("ie7")
} else {
if (ieVersion === 8) {
classNames.push("ie8")
} else {
if (ieVersion === 9) {
classNames.push("ie9")
} else {
if (ieVersion === 10) {
classNames.push("ie10")
} else {
if (ieVersion === 11) {
classNames.push("ie11")
}
}
}
}
}
}
if (browser === "safari" || browser === "chrome") {
classNames.push("webkit")
}
if (SC.browser.mobileSafari) {
classNames.push("mobile-safari")
}
if ("createTouch" in document) {
classNames.push("touch")
}
if (window.navigator.userAgent.toLowerCase().match(/windows nt 5.1/)) {
classNames.push("winxp")
}
el.className = classNames.join(" ")
};
SC._relativeUrl_cachedCurrentUrl = (function() {
var parts = BUILD_INFO.currentUrl.split("/");
var idx, len = parts.length;
for (idx = 0; idx < parts.length; idx++) {
if (parts[idx] == "..") {
parts.splice(idx, 1);
parts.splice(idx - 1, 1);
idx--;
idx--
}
}
return parts.join("/")
})();
SC.relativeUrl = function(to_url) {
if (!BUILD_INFO.useRelativeUrls) {
return to_url
}
var from_parts = SC._relativeUrl_cachedCurrentUrl.split("/");
var to_parts = to_url.split("/");
while (to_parts.length >= 1 && from_parts.length >= 1 && from_parts[0] === to_parts[0]) {
from_parts.shift();
to_parts.shift()
}
var ret = "";
from_parts.pop();
for (var idx = 0, len = from_parts.length;
idx < len; idx++) {
ret += "../"
}
ret += to_parts.join("/");
return ret
};
SC.absoluteUrl = function(relative_url) {
if (relative_url[0] === "/") {
return relative_url
}
var path = window.location.pathname.split("/"),
add = relative_url.split("/"),
len = add.length,
idx;
if (path[path.length - 1] === "") {
path.pop()
}
for (idx = 0; idx < len; idx++) {
if (add[idx] == ".." && path.length > 0) {
path.pop()
} else {
path.push(add[idx])
}
}
return path.join("/")
};
(function() {
if (!BUILD_INFO.images) {
return
}
var styles;
if (window.devicePixelRatio > 1 || window.location.search.match(/(\?|&)2x=true/)) {
styles = BUILD_INFO.styles.x2;
SC.APP_IMAGE_ASSETS = BUILD_INFO.images.x2;
BUILD_INFO.stylesDPIUsed = 2
} else {
styles = BUILD_INFO.styles.normal;
SC.APP_IMAGE_ASSETS = BUILD_INFO.images.normal;
BUILD_INFO.stylesDPIUsed = 1
}
var head = document.getElementsByTagName("head")[0],
len = styles.length,
idx, css;
for (idx = 0; idx < len; idx++) {
css = document.createElement("link");
css.rel = "stylesheet";
css.type = "text/css";
css.href = styles[idx];
css.media = "screen";
head.appendChild(css)
}
})();
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 29.11.2019, 00:37
Новичок на форуме
Отправить личное сообщение для thegodzila Посмотреть профиль Найти все сообщения от thegodzila
 
Регистрация: 30.09.2019
Сообщений: 7

<script src="https://cdn.apple-mapkit.com/mk/4.11.x/mapkit.js" type="text/javascript">
</script>
<script>
SC.benchmarkPreloadEvents.headEnd = getCurrentTimeForPerformance();
</script>
</head>

<body class="sc-theme sc-focus">
<script>
SC.benchmarkPreloadEvents.bodyStart = getCurrentTimeForPerformance();
</script>
<script type="text/javascript">
if (SC.setupBodyClassNames) {
SC.setupBodyClassNames()
};
</script>
<div id="loading">
<style>
#loading-find{position:fixed;top:0;bottom:0;left:0;right:0; background-color:#7d9bb8;background:-webkit-gradient(linear,left
top,left bottom,from(#a3bdd6),to(#7d9bb8));background:-moz-linear-gradient(top,#a3bdd6,#7d9bb8);filterrogidXImag eTransform.Microsoft.gradient(startColorstr='#a3bd d6',endColorstr='#7d9bb8');}
</style>
<div id="loading-find">
</div>
</div>
<div style="display:none">
<script type="text/javascript" src="/applications/find/1920Project37/ru-ru/javascript-packed.js">
</script>
</div>
<script>
SC.benchmarkPreloadEvents.bodyEnd = getCurrentTimeForPerformance();
</script>
</body>

</html>


Прошу прощения за длинный скрипт, если интересно могу залить этот файл
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузить скрипт в тело страницы через javascript aleksandr8i Javascript под браузер 10 30.12.2016 21:10
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Помогите, пож, младенцу восстановить работоспобность JavaScript MishkaKosolapij Общие вопросы Javascript 4 16.08.2009 23:02
Помогите разобраться со скриптом! Чайник Элементы интерфейса 1 13.03.2009 23:57
Обращение к именам, полученным через Javascript baal1988 Events/DOM/Window 1 31.08.2008 15:08