Мануалы

Как скрыть скрипт клоаки от Facebook

Возможно, Facebook уже собрал нужные данные, и теперь ИИ самостоятельно распознает посторонний код. Возможно, весь этот движ с банами из-за пандемии. Просто Facebook ограничили открут бюджета. Поднял на максимум чувствительность ИИ. Ведь проверять объявления некому. Все сотрудники на удаленке. А мошенников, которые размещают фейковые объявления, чтобы озолотиться на COVID-19, хоть отбавляй. Такие рекламные кампании ни в коем случае нельзя одобрить, иначе Facebook потеряет аудиторию. Аудитория — это актив Facebook, а не вот эти ваши «карманные сбережения». Так что не переживайте. Думаю все наладится. Возможно не будет как прежде, но станет проще чем сейчас.

К сути

После способа клоакинга, описанного здесь, начал тестировать недавно появившийся метод JS клоакинга от IMKLO. Суть метода в том, что вы вставляете JS код IMKLO, например в HTML код своего магазина Shopify. При заходе пользователя, последнему открывается айфрейм окно с рекламной кампанией. Таким образом не происходит редирект на посторонний ресурс. На первый взгляд это казалось замечательной заменой редиректу.

Спустя несколько запущенных рекламных аккаунтов с последующим баном, заметил, что новые рекламные кампании вовсе перестали проходить модерацию. Все до единого объявления были отклонены по причине CLOAKING. Проверил домен кампании Keitaro на бан в Facebook. Домен за нарушение правил не заблокирован. Мысль о том, что Facebook заблокировал основной домен, IMKLO не хотел допускать. Ведь Facebook палит редирект, а тут открытие айфрейм окна. Да и ребята с IMKLO уверяли, что FB не палит айфрейм. Еще несколько заблокированных рекламных аккаунтов помогли меня убедить проверить домен ?

Следующим делом полез в дебаггер Facebook проверять основной домен IMKLO. Результат положительный. Домен заблокирован.

Тут столкнулся с главной проблемой клоакинга через JS метод. Домен, который используется в JS скрипте, это основной домен, на который привязана лицензия IMKLO. Сменить домен возможно, только получив новую лицензию через саппорт. Сменил домен. Снова бан. В общем, идея менять домен, на котором лицензия, отстой!

Топ обменников

Пришлось напрячь мозги, чтоб решить проблему. Четко ясно, что Facebook без проблем распознает посторонние скрипты JS клоак и блокирует их домены моментально. Менять каждый раз домен в скрипте — тупо! Нужно спрятать сам скрипт от ботов Facebook.

Решение

Как спрятать скрипт, не нарушив его работоспособность? Нужно его закодировать. Вспомнил, как в прошлом работал с попандер трафиком и кодировал изображения в текст с помощью Base64. Стало интересно, как поведет себя закодированный js скрипт. Оказалось, все работает без проблем. Пришлось повозится только, чтобы написать скрипт-декодиратор для Вase64.

Ищете любой онлайн Base64 конвертер. Например, этот. Берете свой скрипт с Кейтары:

<span id=”469de8d1-3980-2007-5991-d3b69ad7b5bd”></span><script type=”application/javascript”>

var d=document;var s=d.createElement(‘script’); 

s.src=’https://ххххххх.club/Fm8NQx?se_referrer=’ + encodeURIComponent(document.referrer) + ‘&default_keyword=’ + encodeURIComponent(document.title) + ‘&’+window.location.search.replace(‘?’, ‘&’)+’&frm5e64e1f63139f=script5e64e1f6313a0&_cid=469de8d1-3980-2007-5991-d3b69ad7b5bd’; 

if (document.currentScript) { 

document.currentScript.parentNode.insertBefore(s, document.currentScript);

} else {

d.getElementsByTagName(‘head’)[0].appendChild(s);

}

if (document.location.protocol === ‘https:’ && ‘https://хххххххх.club/Fm8NQx?se_referrer=’ + encodeURIComponent(document.referrer) + ‘&default_keyword=’ + encodeURIComponent(document.title) + ‘&’+window.location.search.replace(‘?’, ‘&’)+’&frm5e64e1f63139f=script5e64e1f6313a0′.indexOf(‘http:’) === 0 ) {alert(‘The website works on HTTPS. The tracker must use HTTPS too.’);}

</script>

Выбираете кодировку с текста в Base64 (цифра 2) и вставляете скрипт (цифра 1).

Копируете полученную абракадабру (цифра 3) и вставляете в написанный мной скрипт для декодирования, вместо слов: КОД BASE64

 <script>

      var string = ‘КОД BASE64’;

      var decodedString = atob(string);

      document.write(”+ decodedString +”);

  </script>

 <script src=”https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js”></script>

На примере получится вот так:

  <script>

      var string = ‘PHNwYW4gaWQ9IjQ2OWRlOGQxLTM5ODAtMjAwNy01OTkxLWQzYjY5YWQ3YjViZCI+PC9zcGFuPjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCI+CnZhciBkPWRvY3VtZZTFmNjMxM2EwJy5pbmRleE9mKCdodHRwOicpID09PSAwICkge2FsZXJ0KCdUaGUgd2Vic2l0ZSB3b3JrcyBvbiBIVFRQUy4gVGhlIHRyYWNrZXIgbXVzdCB1c2UgSFRUUFMgdG9vLicpO30KPC9zY3JpcHQ+’;

      var decodedString = atob(string);

      document.write(”+ decodedString +”);

  </script>

 <script src=”https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js”></script>

Берем скрипт и вставляем перед закрывающим тегом </head> сами знаете куда ?

Некоторые ребята вообще такие скрипты прячут подальше в футер от модераторов.

Какой результат?

После таких телодвижений неоднократно запускал рекламные кампании с помощью JS метода и домен живой по сегодняшний день! Живее всех живых.

Безопасность Facebook усиливается с каждым днем. Так что не надейтесь, что это панацея от банов. Но протестировать для себя обязательно стоит.

За статью спасибо коллегам с https://fbgangster.com/

Related Articles

Back to top button