Форум
Написать нам
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Модератор форума: as-master  
Отправка POST запроса
Alex3AДата: Пятница, 19 Марта 2010, 23:38 | Сообщение # 91
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
DEMBEL, Ну яж талдычил-ищи eval( :D

Добавлено (19 Март 2010, 23:38)
---------------------------------------------
DEMBEL, ну так че, делать бинарную поддержку?

 
DEMBELДата: Пятница, 19 Марта 2010, 23:49 | Сообщение # 92
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
эмм... не знаю, я еще не понял нужно или нет ) сначала проверю то что ты там наделал на своих примерах и скажу точно.



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Суббота, 20 Марта 2010, 00:39 | Сообщение # 93
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Ок
 
DEMBELДата: Суббота, 20 Марта 2010, 00:48 | Сообщение # 94
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
у меня вот не выходит скрипт расшифровать, не работает и все...



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Суббота, 20 Марта 2010, 10:54 | Сообщение # 95
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
DEMBEL, так давай пример, чего там у тебя, я уже более менее свободен.
 
DEMBELДата: Суббота, 20 Марта 2010, 11:04 | Сообщение # 96
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
щас, погоди сниму дамп со снифера, сам посмотришь



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Суббота, 20 Марта 2010, 11:13 | Сообщение # 97
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
А вообще, скрипт нужно ковырять в том случае, если данные отправляемые на сервер в заголовке запроса, меняются от посыки к посылке, и ты не можеш понять каким образом.
Любой сложности страница, в итоге, формирует заголовок запроса и отправляет его на сервер. Запрос может передавать какие нибудь переменные и куки. Вот ответ сервера,
его заголовки, говорят что дал сервер, или что клиенту делать дальше, это в случаях когда процес добычи нужного состоит из нескольких шагов.
 
DEMBELДата: Суббота, 20 Марта 2010, 11:24 | Сообщение # 98
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Alex3A)
А вообще, скрипт нужно ковырять в том случае, если данные отправляемые на сервер в заголовке запроса, меняются от посыки к посылке, и ты не можеш понять каким образом.

я пока не могу понять роль этого возвращаемого скрипта, что он делает... возможно то что надо, возможно нет... просто думаю надо расковырять, чтоб понять оно это или искать в другом месте... возможно просто скрипт рекламного баннера...




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
DEMBELДата: Суббота, 20 Марта 2010, 11:46 | Сообщение # 99
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
епрст, как лимит сообщения обойти и разбить сообщение? пришлось в файл пихать :)

Добавлено (20 Март 2010, 11:46)
---------------------------------------------
о чёрт, друзья, вынужден сообщить что послезавтра я вынужден уехать до августа (прям как Булгаков :D ), на "учебно-рабочую" практику в некую захудалую сельскую больницу в области, так что более чем вероятно мое временное отсутствие :( хотел оставить вам поиграться несколько прикольных штучек, но видно не успею доделать :( Alex, все мои текущие вопросы думаю придется "заморозить".

(удалено)




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Суббота, 20 Марта 2010, 12:19 | Сообщение # 100
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Нужное тебе содержится в приложенном файле, или после его получения еще идут запросы?
Если идут, то нужны заголовки браузера и сервера, снятые снифером до момента получения
нужнго. А так же аналогичная история обмена с плагином, что бы проанализировать
в чем разница.
 
DEMBELДата: Суббота, 20 Марта 2010, 12:30 | Сообщение # 101
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Alex3A)
Нужное тебе содержится в приложенном файле, или после его получения еще идут запросы?

я взял самый последний ответ, до него еще несколько tcp сессий, но как я понял они особо не при делах тут...

Добавлено (20 Март 2010, 12:30)
---------------------------------------------

Quote (Alex3A)
Нужное тебе содержится в приложенном файле, или после его получения еще идут запросы?

я вот и хочу просто выяснить, это нужное или ненужное... может просто мусор рекламный, тогда буду подробнее смотреть еще скрипты на странице...




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Суббота, 20 Марта 2010, 13:26 | Сообщение # 102
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Первый скрипт -грузит скрипт с адреса
Code
http://mg.dt00.net/mgjs/cjs/s/a/savefrom.net.195.js?t=

передавая по гет переменную t=год+месяц+дата+час и пременную charset="utf-8".
Этот заголовок вполне отлавливается и скрипт можно получить в чистом виде.
Третий скрипт, довольно хитрожопый :D
var x='.....';
document.body.appendChild(s);
переменная х определена в скрипте, переменной s нет, очевидно она определена в
первом скрипте, или в теле хтмл, тег с таким именем.
Пусть тебя не смущает что х используется в определении s, в первый момент времени
у неее есть какое то значение, добавится объект s, затем будет выполнятся=
в функции 1t(), которая в качестве аргументов вызывает функцию объекта 1u.1r() с аргументом -та длинная строка с символами... Кароче три -четыре уровня вложенности,
ничего страшного, надо поиметь тот скрипт, который определяет s, и если там особой
засады нет, то можно, написав соответственно свой шкрипт, получить то что там спрятано в чистом виде. расшифрованный конечный скрипт, выполняет функцию f(),
которая на самом деле функция z, определенная в другом месте.
В общем замороченно, но вполне распутываемо, если канечна, внешние определения
не дадут дополнительного гимороя :D
внешние -1t(), 1u.1r(),z() , конечное действие eval(f).Выполнить строку как код,
функция z(). Таким образом, для работы не хватает определения внешних трех функций.
 
DEMBELДата: Суббота, 20 Марта 2010, 16:48 | Сообщение # 103
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ладно, понятно, я так понял что без дополнительных определений скрипт не распутается, ну будем смотреть в чем дело, но уже позже :( походу передается не целый механизм, а только его движок, который и запускает весь процесс...



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Суббота, 20 Марта 2010, 17:45 | Сообщение # 104
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Есть подозрение, что третий скрипт, самомдостаточен, я уже поимел скрипт загружаемый
в первого скрипта, и немного раскодировал часть в третьем, но до переменной х пока не
добрался.

Добавлено (20 Март 2010, 17:45)
---------------------------------------------
там интересно функция называется f,u,c,k ну и очевидно х обрабатывается регулярным
выражением. Выдели из длинной строки определение z=String.fromCharCode(..)
а потом alert(z);

 
DEMBELДата: Суббота, 20 Марта 2010, 17:46 | Сообщение # 105
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
если хочешь снять логи сам - то могу кинуть ссылку в лс, но если ты занят то я никуда не тороплюсь, все равно вплотную смогу заняться разбором полетов гораздо позже.



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Суббота, 20 Марта 2010, 19:11 | Сообщение # 106
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Короче, скрипт номер 3 самый закоденый, я вроде разобрал его строение -это
скрипт матрешка :D
в конце строки
Code
eval(f(a,62,100,b.split(\u0027|\u0027)))

модифицируем
Code
alert(f(a,62,100,b.split(\u0027|\u0027)))

Ну а что бы не переписывать руками, сделаем текстареа туда и выведем
модифицируем
Code

<textarea name="ty"></textarea>
.....
ty.value=f(a,62,100,b.split(\u0027|\u0027))....

при запуске в textarea будет код eval(....)
копируем его, пишем новый хтмл с текстареа и кропированным кодом из первого хтл
Code
<textarea name="ty1"></textarea>
<script type="text/javascript">
ty1.value=копированный код в котором убрали eval и его скобки()
</script>

Там мы уже видим код скрипта, но не весь, часть закодирована
Code
...btn.parentNode.innerHTML=String.fromCharCode(60,....

чтобы ее раскодировать, делаем новый хтмл, аналогично как делали раньше и меняем
[code]]<textarea name="ty2"></textarea>
<script type="text/javascript">
ty2.value=String.fromCharCode(60,....
</script>
Этот шаг я не делал, в прищепке результат предидущего шага, если и в нем какая кака,
поступаем аналогично. Для сбора всего кала, с каждого этапа копируем открытый код,
а закодированную часть заменяем раскодированной в следующем этапе.

Добавлено (20 Март 2010, 19:11)
---------------------------------------------
Не, даже не так, там еще куча уровней вложения, но уже определимых, там где остается
код стоят или String.fromCharCode или eval, там где в eval нормальный текст, трогать не надо, он и так читаем.

(удалено)

 
Alex3AДата: Суббота, 20 Марта 2010, 19:39 | Сообщение # 107
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Вот чего в результате там накопал.
рой есть ли чего хотел.
(удалено)
 
DEMBELДата: Суббота, 20 Марта 2010, 23:34 | Сообщение # 108
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
спасибо за подробный оналез происходящего, если есть еще что отметить конкретного по поводу процесса расковыривания то говори, а то я намерен подробно выяснить все по шагам, мне ведь нужно будет сделать автоматический обработчик этого... а насчет содержимого - то что нужно, искал прямую ссылку на скачивание, она в самом начале идет :) ну всякие куки-шмуки там я уж сам попробую победить.



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Воскресенье, 21 Марта 2010, 12:05 | Сообщение # 109
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Ну вот по поводу автоматического расковыривания, это канешна весчь сложная, но возможная, однако думай сам. Итого, есть скрипт в нем определены три переменные x,y,z которые учавствуют в создании скрытого скрипта. Все скрипты страницы, находящиеся не в функциях выполняются сразу при их загрузке, те которые находятся в теле фукйий выполняются при их вызове. Ключевой оператор позволяющий выполнить текст как скрипт это eval(), таким образом, если результат того что находится в аргументах этой функции дать не функции eval(что-то) а другому элементу или функции, к примеру
alert(что-то) елемент.value=что-то то скрипт будет не выполнен а показан, как текст.
Таким образом, нет необходимости в анализе метода кодировки скрытого скрипта и его составляющих, он сам себя дешифрует. Другой метод представления текста - это хранение его в виде кодов символов, String.fromCharCode(набор таких символов), или шеснадцатеричного представления, или урлкодирования, или еще чего.
Другим методом, позволяющим превратить строку в скрипт, это динамическое создание
объекта скрипт
Code
var s=document.createElement('script');
и добавление его
в нужное место объектной модели документа
Code
document.body.appendChild(s);
,
в данном случае в его тело, это еквивалентно функции eval(что-то) но не в теле текущего блока скриптов, а в отдельном, вновь созданом блоке.
Усвоив, нужные представления, возвращаемся к нашему скрипту.
Переменные x,y,z хранят данные для генерации нужного скрипта, но они пока есть просто текстом. Динамически создается новый объект, и внедряется в объектную модель
Code
document.body.appendChild(s);
, текст становится скриптом, то есть cчитай что убираются внешние кавычки '', и что же мы там видим, бывшая строка превратилась в скрипт, в котором определены x,y,z и определяется ранее объявленный объект как скрипт, определяется его текст, состоящий из переменных и некой модификации
Code
s.text='var a=\u0027' + x + '\u0027,b=\u0027' + y + '\u0027,f=' + z + ';

После модификации, скрипт выполняется[code]eval(f(a,62,100,b.split(\u0027|\u0027)))code] Все выше описанное можно назвать загрузщиком скрипта, аргумент функции eval
содержит автоматически распаковываемый код, вне зависимости от сложностей и хитростей
в нем заложенных. Но это справедливо лиш для интерпритатора явы!
В данном случае мы имеем дело со структурой сокрытия кода типа матрешки, ибо сам код
имеет вложенные инструкции eval и String.fromCharCode с закодированным текстом.
Выделив их и произведя нужную операцию мы получим исходный код, eval(что-то)-alert(что-то) rez=String.fromCharCode(что-то), затем когда все раскодировано, мы собираем
эти куски и в итоге имеем открытый исходник. Уровень вложенности таких вещей определяется злобностью програмера писавшего этот скрипт :D
 
DEMBELДата: Воскресенье, 21 Марта 2010, 12:59 | Сообщение # 110
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ну что, респект тебе :)



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Воскресенье, 21 Марта 2010, 13:47 | Сообщение # 111
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Да там еще что то наворочано с регулярными выражениями, что то как то переделывает или
добавляет или убирает, я не стал рабиратся, ибо оно само себя и раскодирует, так что во все эти хитрости даже вникать нет необходимости, ну если только в спортивных
интересах :D
 
DEMBELДата: Пятница, 27 Августа 2010, 00:24 | Сообщение # 112
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
эм... значит продолжаю тут ковырять какашки... напомни пожалуйста как правильно раскодировать подобный скрипт, чтото мне eval и alert мусор показывает:

надо проверить наличие в раскодированном материале строк:
s05
12374701
2d4fab923c2c3ea46053ccbe9d7286dc
либо полного пути
/media/?d=12374701&t=2d4fab923c2c3ea46053ccbe9d7286dc

если не найдутся, буду выяснять их формирование сам

(удалено)




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Пятница, 27 Августа 2010, 01:38 | Сообщение # 113
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Так, значится, разбираеш все дерьмо что стоит в кавычках это текст, что бы там ни было написано, что текстом не является, это код входа, с него и запускается вся шарманка.
Ты впоминаеш, что там могут быть многократные вложения, все они саморасшифровуемые,
при запуске головного шрифта. Ведзде, где шаг за шагом, возникает eval, меняем его на алерт.
А текст вроде был в спойлере, праснулся а он в файле :D
 
Alex3AДата: Пятница, 27 Августа 2010, 03:27 | Сообщение # 114
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Ну че ?
ну на, ысши :D

Добавлено (27 Август 2010, 03:27)
---------------------------------------------
s05 нет
12374701 есть
2d4fab923c2c3ea46053ccbe9d7286dc нет
либо полного пути
/media/?d=12374701&t=2d4fab923c2c3ea46053ccbe9d7286dc нет

 
DEMBELДата: Пятница, 27 Августа 2010, 09:14 | Сообщение # 115
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
как это нет, все там есть, спасибо. теперь обьясни как расковырять это, var x='...', с помощью eval? и потом мне придется сделать эту процедуру автоматически, так что без ручной работы надо... и что вообще означают эти аргументы 1O.1P, символы через запятую, что это, всё переменные? а var y='...|...|...' это что за... с var z=String.fromCharCode понятно. Потом в конце эти штуки собираются вместе в s, из которой формируется расшифрованный контент яваскрипта, добавляется на страницу и выполняется. теперь зачем пишется
var a=\u0027' ... а потом split(\u0027|\u0027), что это за u0027. А понятно это апостроф для итогового скрипта, тут его по другому не запишешь. идет split по палке, видимо у, а в нем снова String.fromcharcode и переменная y раскодируется в итоговом скрипте, тут вложенность. понятно.

Добавлено (27 Август 2010, 09:14)
---------------------------------------------
вывел в textarea, вижу снова этот function(f,u,c,k)... че дальше-то... опиши процесс по пунктам, я разберусь... блин потерял твои исходники из предыдущих сообщений, тогда вроде понел а щас забыл уже в чем соль, долблюсь апстену.




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Alex3AДата: Пятница, 27 Августа 2010, 19:57 | Сообщение # 116
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
А ты думаеш, я помню :D
Когда в прошлый раз то типа знал, вчера типа вспомнил, а сегодня нада опять войти в струю :D Падажди.

Добавлено (27 Август 2010, 19:57)
---------------------------------------------

Quote (DEMBEL)
var a=\u0027' ... а потом split(\u0027|\u0027), что это за u0027.

Я вообще не вникаю во все эти примочки :D
Code

s.text='var a=\u0027' + x + '\u0027,b=\u0027' + y + '\u0027,f=' + z + ';mm=(f(a,62,120,b.split(\u0027|\u0027)));';

Вот ключевая строка, s.text= текст скрипта, не интересна даже первая часть-'var a=\u0027' ...
eval=(f(a,62,120,b.split(\u0027|\u0027)));'; меняем на mm=(f(a,62,120,b.split(\u0027|\u0027)));';
в переменной мм находится первая матрешка, начинается eval(String.fromCharCode...
делаем ему String.fromCharCode, получаем следующую, если там опять есть вложения,
делаем аналогично. Я раскодировал из двух страниц, чето с одной не получилось, ява эта бяка :D
 
DEMBELДата: Пятница, 27 Августа 2010, 21:28 | Сообщение # 117
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
получилось, теперь понел. как сделать теперь чтоб не руками все делать, ну это уж я подумаю...



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск: