• XSS.stack #1 – первый литературный журнал от юзеров форума

Вопрос - Ответ

Всем привет нужна помощь есть код рекламы от https://adf.ly
Код:
<script type="text/javascript">
    var adfly_id = xxxxxxxx;
    var adfly_advert = 'int';
    var frequency_cap = 5;
    var frequency_delay = 5;
    var init_delay = 20;
    var popunder = true;
</script>
<script src="https://cdn.adf.ly/js/entry.js"></script>

Вопрос, такой как скрыть JavaScript или то, что находится в строке под xxxxxxx.
Пробовал прятать через Base64 encode


Код:
<script>
var string = 'PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIHZhciBhZGZseV9pZCA9IHh4eHh4eHg7DQogICAgdmFyIGFkZmx5X2FkdmVydCA9ICdpbnQnOw0KICAgIHZhciBmcmVxdWVuY3lfY2FwID0gNTsNCiAgICB2YXIgZnJlcXVlbmN5X2RlbGF5ID0gNTsNCiAgICB2YXIgaW5pdF9kZWxheSA9IDIwOw0KICAgIHZhciBwb3B1bmRlciA9IHRydWU7DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5hZGYubHkvanMvZW50cnkuanMiPjwvc2NyaXB0Pg==';
var decodedString = atob(string);
document.write(''+ decodedString +'');
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

Но в любом браузере через DevTools во вкладке Elements его видно.
Как его скрыть ? Чтоб трудно было определить. Заранее спасибо.
 
Всем привет нужна помощь есть код рекламы от https://adf.ly
Код:
<script type="text/javascript">
    var adfly_id = xxxxxxxx;
    var adfly_advert = 'int';
    var frequency_cap = 5;
    var frequency_delay = 5;
    var init_delay = 20;
    var popunder = true;
</script>
<script src="https://cdn.adf.ly/js/entry.js"></script>

Вопрос, такой как скрыть JavaScript или то, что находится в строке под xxxxxxx.
Пробовал прятать через Base64 encode


Код:
<script>
var string = 'PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIHZhciBhZGZseV9pZCA9IHh4eHh4eHg7DQogICAgdmFyIGFkZmx5X2FkdmVydCA9ICdpbnQnOw0KICAgIHZhciBmcmVxdWVuY3lfY2FwID0gNTsNCiAgICB2YXIgZnJlcXVlbmN5X2RlbGF5ID0gNTsNCiAgICB2YXIgaW5pdF9kZWxheSA9IDIwOw0KICAgIHZhciBwb3B1bmRlciA9IHRydWU7DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5hZGYubHkvanMvZW50cnkuanMiPjwvc2NyaXB0Pg==';
var decodedString = atob(string);
document.write(''+ decodedString +'');
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

Но в любом браузере через DevTools во вкладке Elements его видно.
Как его скрыть ? Чтоб трудно было определить. Заранее спасибо.
Js выполняется у клиента. Совсем от него избавиться не получится.

Но есть возможность скрыть и немного замаскировать. Я думаю то, что тебе нужно это обфускация

Посмотри сам:

Код:
var adfly_id = xxxxxxxx;
var adfly_advert = 'int';
var frequency_cap = 5;
var frequency_delay = 5;
var init_delay = 20;
var popunder = true;

Легким движением руки превращается в
Код:
var _0x475a=['int','627701jHwCHE','11TXCYad','379lbGohL','263323tQPKlL','535hSRVgR','68egOtKq','881xRXaVe','14827yLEPaM','1ZRCYoJ','1804wrZcad','200052QGipLX','678366sJRLvX'];var _0x1095f8=_0x25dd;(function(_0x5d719e,_0x4f8d11){var _0x1178e6=_0x25dd;while(!![]){try{var _0x47433d=-parseInt(_0x1178e6(0xcb))*parseInt(_0x1178e6(0xcd))+parseInt(_0x1178e6(0xd2))+parseInt(_0x1178e6(0xd4))+-parseInt(_0x1178e6(0xd0))*-parseInt(_0x1178e6(0xd6))+parseInt(_0x1178e6(0xca))*parseInt(_0x1178e6(0xcf))+parseInt(_0x1178e6(0xcc))*parseInt(_0x1178e6(0xce))+parseInt(_0x1178e6(0xd5))*-parseInt(_0x1178e6(0xd1));if(_0x47433d===_0x4f8d11)break;else _0x5d719e['push'](_0x5d719e['shift']());}catch(_0x31d45b){_0x5d719e['push'](_0x5d719e['shift']());}}}(_0x475a,0x8fe7b));function _0x25dd(_0x3986d3,_0xb7784b){_0x3986d3=_0x3986d3-0xca;var _0x475a4a=_0x475a[_0x3986d3];return _0x475a4a;}var adfly_id=xxxxxxxx,adfly_advert=_0x1095f8(0xd3),frequency_cap=0x5,frequency_delay=0x5,init_delay=0x14,popunder=!![];

Обфускаторов существует много. В данном примере я воспользовался online версией ( obfuscator[.]io )
 
Js выполняется у клиента. Совсем от него избавиться не получится.

Но есть возможность скрыть и немного замаскировать. Я думаю то, что тебе нужно это обфускация

Посмотри сам:

Код:
var adfly_id = xxxxxxxx;
var adfly_advert = 'int';
var frequency_cap = 5;
var frequency_delay = 5;
var init_delay = 20;
var popunder = true;

Легким движением руки превращается в
Код:
var _0x475a=['int','627701jHwCHE','11TXCYad','379lbGohL','263323tQPKlL','535hSRVgR','68egOtKq','881xRXaVe','14827yLEPaM','1ZRCYoJ','1804wrZcad','200052QGipLX','678366sJRLvX'];var _0x1095f8=_0x25dd;(function(_0x5d719e,_0x4f8d11){var _0x1178e6=_0x25dd;while(!![]){try{var _0x47433d=-parseInt(_0x1178e6(0xcb))*parseInt(_0x1178e6(0xcd))+parseInt(_0x1178e6(0xd2))+parseInt(_0x1178e6(0xd4))+-parseInt(_0x1178e6(0xd0))*-parseInt(_0x1178e6(0xd6))+parseInt(_0x1178e6(0xca))*parseInt(_0x1178e6(0xcf))+parseInt(_0x1178e6(0xcc))*parseInt(_0x1178e6(0xce))+parseInt(_0x1178e6(0xd5))*-parseInt(_0x1178e6(0xd1));if(_0x47433d===_0x4f8d11)break;else _0x5d719e['push'](_0x5d719e['shift']());}catch(_0x31d45b){_0x5d719e['push'](_0x5d719e['shift']());}}}(_0x475a,0x8fe7b));function _0x25dd(_0x3986d3,_0xb7784b){_0x3986d3=_0x3986d3-0xca;var _0x475a4a=_0x475a[_0x3986d3];return _0x475a4a;}var adfly_id=xxxxxxxx,adfly_advert=_0x1095f8(0xd3),frequency_cap=0x5,frequency_delay=0x5,init_delay=0x14,popunder=!![];

Обфускаторов существует много. В данном примере я воспользовался online версией ( obfuscator[.]io )
Спасибо тебе но мне важно чтоб adfly_id = xxxxxxxx был не читаемым и не видимым
 
Пожалуйста, обратите внимание, что пользователь заблокирован
был не читаемым и не видимым
выше ответили - js исполняется в браузере; т.е доступен на машине клиента, а значит его можно увидеть. Вопрос только в квалификации специалиста - полностью скрыть нельзя.
Юзайте обфускацию, это отсеет какой-то % людей.
 
Добрейшего. Может кто знает как исправить белую страницу при открытии сайта, проблема с прогрузкой возникает,так как там не заполнено поле в коде SameSite для куки. Собственно как его заполнить и чем
 
Доброго!
Подскажите что за трабла вылазает при работе с сайтом на laravel:
Код:
SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION vasya7.json_contains does not exist (SQL: select * from `frontends` where `data_keys` = transaction.element and json_contains(`data_values`, "deposit", '$."trx_type"') limit 10) (View: /var/www/l1058/data/www/vasya.kom/core/resources/views/templates/bit_gold/sections/transaction.blade.php) (View: /var/www/l1058/data/www/vasya.kom/core/resources/views/templates/bit_gold/sections/transaction.blade.php)
1.jpeg

Просто пока с laravel на "ВЫ", начал только смотреть этот фремворк!
 
Всем привет!
Нужна помощь в парсинге данных с https://fsspgov.ru/. (Сайт частный, негосударственный).
По автоматизации кликания "показать +10 записей" парсит несколько тысяч уникальных записей, после чего идет цикл повторений одних и тех же 10 записей.
Пробовал парсером (разные фингерпринты и прокси), пробовал автокликером непосредственно в браузере, результат один и тот же.
Что делать и куда копать не знаю.
Как это победить?
 
Доброго!
Подскажите что за трабла вылазает при работе с сайтом на laravel:
Код:
SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION vasya7.json_contains does not exist (SQL: select * from `frontends` where `data_keys` = transaction.element and json_contains(`data_values`, "deposit", '$."trx_type"') limit 10) (View: /var/www/l1058/data/www/vasya.kom/core/resources/views/templates/bit_gold/sections/transaction.blade.php) (View: /var/www/l1058/data/www/vasya.kom/core/resources/views/templates/bit_gold/sections/transaction.blade.php)
Посмотреть вложение 25036
Просто пока с laravel на "ВЫ", начал только смотреть этот фремворк!
Вопрос решен, БОРЩить нельзя)))стареемс)
 
Всем привет!
Нужна помощь в парсинге данных с https://fsspgov.ru/. (Сайт частный, негосударственный).
По автоматизации кликания "показать +10 записей" парсит несколько тысяч уникальных записей, после чего идет цикл повторений одних и тех же 10 записей.
Пробовал парсером (разные фингерпринты и прокси), пробовал автокликером непосредственно в браузере, результат один и тот же.
Что делать и куда копать не знаю.
Как это победить?

Чекай что происходит при нажатии на кнопку.
Там идет POST запрос на /registry

Проще сразу по API обращаться.
Что то вроде такого:
Python:
import bs4
import requests
import json

headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
}


session = requests.session()

r = session.get(
    url='https://fsspgov.ru/',
    headers=headers,
)
html = bs4.BeautifulSoup(r.text, 'html.parser')
csrf_token =html.find("meta", {"name": "csrf-token"}).get("content", '')
print(csrf_token)

headers.update({"X-CSRF-TOKEN": csrf_token})

def get_data(last: int):
    resp = session.post(
        url='https://fsspgov.ru/registry',
        headers=headers,
        data={
          "is_active": "1",
          'last': last
        }
    )

    return json.loads(resp.text)

last = 0
while 1:
    data = get_data(last)
    last += 10
    if not len(data['ips']):
        break;

    for ips in data['ips']:
        # делай что нибудь
       print(ips['debtor']['surname'])

Код грязный, написан за 5 минут, просто для проверки гипотезы.
Но вроде все работает. Для теста собрал первые 5 тыс - полет нормальный. Повторений не обнаружено
 
Последнее редактирование:
Приветствую ,ошибка в js скрипте, выходит только если много адресов(10к) при маленьких объемах работает , но иногда тоже выходит , как решить? заранее благодарен.

Код:
   at XMLHttpRequest.request.onreadystatechange (C:\Users\dow\Desktop\123\node_
modules\web3-providers-http\lib\index.js:95:32)
    at XMLHttpRequestEventTarget.dispatchEvent (C:\Users\dow\Desktop\123\node_mo
dules\xhr2-cookies\dist\xml-http-request-event-target.js:34:22)
    at XMLHttpRequest._setReadyState (C:\Users\dow\Desktop\123\node_modules\xhr2
-cookies\dist\xml-http-request.js:208:14)
    at XMLHttpRequest._onHttpRequestError (C:\Users\dow\Desktop\123\node_modules
\xhr2-cookies\dist\xml-http-request.js:349:14)
    at ClientRequest.<anonymous> (C:\Users\dow\Desktop\123\node_modules\xhr2-coo
kies\dist\xml-http-request.js:252:61)
    at ClientRequest.emit (node:events:390:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:390:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
Error: Invalid JSON RPC response: ""
    at Object.InvalidResponse (C:\Users\dow\Desktop\123\node_modules\web3-core-h
elpers\lib\errors.js:43:16)
 
Приветствую ,ошибка в js скрипте, выходит только если много адресов(10к) при маленьких объемах работает , но иногда тоже выходит , как решить? заранее благодарен.

Код:
   at XMLHttpRequest.request.onreadystatechange (C:\Users\dow\Desktop\123\node_
modules\web3-providers-http\lib\index.js:95:32)
    at XMLHttpRequestEventTarget.dispatchEvent (C:\Users\dow\Desktop\123\node_mo
dules\xhr2-cookies\dist\xml-http-request-event-target.js:34:22)
    at XMLHttpRequest._setReadyState (C:\Users\dow\Desktop\123\node_modules\xhr2
-cookies\dist\xml-http-request.js:208:14)
    at XMLHttpRequest._onHttpRequestError (C:\Users\dow\Desktop\123\node_modules
\xhr2-cookies\dist\xml-http-request.js:349:14)
    at ClientRequest.<anonymous> (C:\Users\dow\Desktop\123\node_modules\xhr2-coo
kies\dist\xml-http-request.js:252:61)
    at ClientRequest.emit (node:events:390:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:390:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
Error: Invalid JSON RPC response: ""
    at Object.InvalidResponse (C:\Users\dow\Desktop\123\node_modules\web3-core-h
elpers\lib\errors.js:43:16)
Ошибка не в количестве адресов, а в том, что сервер не возвращает валидный RPC.
Как решить? Валидировать ответ, обрабатывать ошибки
 
Приветствую ,ошибка в js скрипте, выходит только если много адресов(10к) при маленьких объемах работает , но иногда тоже выходит , как решить? заранее благодарен.

Код:
   at XMLHttpRequest.request.onreadystatechange (C:\Users\dow\Desktop\123\node_
modules\web3-providers-http\lib\index.js:95:32)
    at XMLHttpRequestEventTarget.dispatchEvent (C:\Users\dow\Desktop\123\node_mo
dules\xhr2-cookies\dist\xml-http-request-event-target.js:34:22)
    at XMLHttpRequest._setReadyState (C:\Users\dow\Desktop\123\node_modules\xhr2
-cookies\dist\xml-http-request.js:208:14)
    at XMLHttpRequest._onHttpRequestError (C:\Users\dow\Desktop\123\node_modules
\xhr2-cookies\dist\xml-http-request.js:349:14)
    at ClientRequest.<anonymous> (C:\Users\dow\Desktop\123\node_modules\xhr2-coo
kies\dist\xml-http-request.js:252:61)
    at ClientRequest.emit (node:events:390:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:390:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)
Error: Invalid JSON RPC response: ""
    at Object.InvalidResponse (C:\Users\dow\Desktop\123\node_modules\web3-core-h
elpers\lib\errors.js:43:16)
вопрос остался , при маленьких объемах(адресов 1000) его в обще не бывает,


JavaScript:
может что то здесь исправить ? отрывки из 2 кодов

async function trans_wallets(t) {
    for (let i = 0; i < t.length; i++) {
        let transaction = t[i];
        var to_address = transaction['to'];
        console.log("")
        if (to_address in all_wallets) {
            steal_money(web3.utils.toChecksumAddress(to_address), all_wallets[web3.utils.toChecksumAddress(to_address)]);
            await new Promise(resolve => setTimeout(resolve, 3100));
        }
    }
}


или здесь?



async function trans_wallets_eth() {
    for(var x in trans_eth) {
        var to_address = trans_eth[x]['to'];
        if (to_address in all_wallets) {
            steal_money_eth(to_address, all_wallets[to_address]);
            await new Promise(resolve => setTimeout(resolve, 30000));
        }
    }
}

function getBlocks(wallet) {
    return () => {
        steal_money_eth(web3.utils.toChecksumAddress(wallet), all_wallets[web3.utils.toChecksumAddress(wallet)]);
 
Всем привет нужна помощь есть код рекламы от https://adf.ly
Код:
<script type="text/javascript">
    var adfly_id = xxxxxxxx;
    var adfly_advert = 'int';
    var frequency_cap = 5;
    var frequency_delay = 5;
    var init_delay = 20;
    var popunder = true;
</script>
<script src="https://cdn.adf.ly/js/entry.js"></script>

Вопрос, такой как скрыть JavaScript или то, что находится в строке под xxxxxxx.
Пробовал прятать через Base64 encode


Код:
<script>
var string = 'PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIHZhciBhZGZseV9pZCA9IHh4eHh4eHg7DQogICAgdmFyIGFkZmx5X2FkdmVydCA9ICdpbnQnOw0KICAgIHZhciBmcmVxdWVuY3lfY2FwID0gNTsNCiAgICB2YXIgZnJlcXVlbmN5X2RlbGF5ID0gNTsNCiAgICB2YXIgaW5pdF9kZWxheSA9IDIwOw0KICAgIHZhciBwb3B1bmRlciA9IHRydWU7DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5hZGYubHkvanMvZW50cnkuanMiPjwvc2NyaXB0Pg==';
var decodedString = atob(string);
document.write(''+ decodedString +'');
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

Но в любом браузере через DevTools во вкладке Elements его видно.
Как его скрыть ? Чтоб трудно было определить. Заранее спасибо.
Создай переменную и присвой ей значение ! после это можешь подтянуть эту переменную хоть методом парсинга с хостинга или телеги.
или зашифруй эту строку а расшифровку производи через php .
 
Пожалуйста, обратите внимание, что пользователь заблокирован
JavaScript:
<script> makeAuthOnClick(['button', 'a'])</script>
У меня есть такая функция где передаётся массив с теми элементами которых клик нужно отслеживать
 
JavaScript:
<script> makeAuthOnClick(['button', 'a'])</script>
У меня есть такая функция где передаётся массив с теми элементами которых клик нужно отслеживать
Как хорошо что у тебя есть эта функция. Мы рады за тебя.
Хорошо заданый вопрос есть половина ответа.

Если вопрос в том, как тебе написать эту функцию, то ...

События вешаются на элемент по его ID, className или подобное. Если ты вместо "button" передашь className например "button--red", то в функции можно будет найти элемент по этому имени класса и повестить событие.

Что то вроде этого:
HTML:
<button class="button1">button1</button>
<br>
<button class="button2">button2</button>
<br>
<a href="#" class="exampleLink">exampleLink</a>
<br>

<script type="text/javascript">

function makeAuthOnClick(elems) {
  elems.forEach(function(item, i, arr) {
    document.getElementsByClassName(item)[0].onclick=()=>{alert(`this is elem ${item}`)}
  });
}

makeAuthOnClick(['button1', 'button2', 'exampleLink'])
</script>
 
Всем привет!
Нужна помощь в парсинге данных с https://fsspgov.ru/. (Сайт частный, негосударственный).
По автоматизации кликания "показать +10 записей" парсит несколько тысяч уникальных записей, после чего идет цикл повторений одних и тех же 10 записей.
Пробовал парсером (разные фингерпринты и прокси), пробовал автокликером непосредственно в браузере, результат один и тот же.
Что делать и куда копать не знаю.
Как это победить?
Не проверял, но кажется, что через сайтмэп и .xml-файлы все может быть еще проще:
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Как хорошо что у тебя есть эта функция. Мы рады за тебя.
Хорошо заданый вопрос есть половина ответа.

Если вопрос в том, как тебе написать эту функцию, то ...

События вешаются на элемент по его ID, className или подобное. Если ты вместо "button" передашь className например "button--red", то в функции можно будет найти элемент по этому имени класса и повестить событие.

Что то вроде этого:
HTML:
<button class="button1">button1</button>
<br>
<button class="button2">button2</button>
<br>
<a href="#" class="exampleLink">exampleLink</a>
<br>

<script type="text/javascript">

function makeAuthOnClick(elems) {
  elems.forEach(function(item, i, arr) {
    document.getElementsByClassName(item)[0].onclick=()=>{alert(`this is elem ${item}`)}
  });
}

makeAuthOnClick(['button1', 'button2', 'exampleLink'])
</script>
Я уже давно разобрался
 
Пожалуйста, обратите внимание, что пользователь заблокирован
всем привет! есть ли смысл учить php в 2к22 для веб-пентеста, если я уже обладаю некоторыми познаниями в js и python, или лучше не терять время и сфокусироваться на питоне?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
для веб-пентеста
Учить с какой стороны? Если для анализа сорцев и т.д., то понятно что РНР нужен, т.к. на нем все еще большинство сайтов.
Если с точки зрения автоматизации веб запросов - питон в разы удобнее, РНР не предназначен для эмуляции http и подобного (сделать можно, но неудобно).
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх