Чем пошарить в инете

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Чем пошарить в инете

Сообщение vitaly_l » 11.09.2017 10:14:48

Лекс Айрин писал(а):Не пугай человека.

Как это не пугай? Зуб - становится на путь крутого хакера! :roll: Теперь Zub обязан бояться даже собственной тени.
Лекс Айрин писал(а):неудачные попытки захода

А с чего они должны быть неудачными? Зуб делает снифером копию логина и пароля. Дешифрует их. Затем стучится с правильными данными на VK. При таком раскладе, все Ваши методы, отпадают, а вот проверка на: человек/машина - остаются. Я не пугал Zub-ика, а наоборот, волнуюсь за него. Кстати, я действительно не знаю, есть ли такая проверка на ВК, но на сайтах, которые тревожатся за содержимое скрытое за паролем, такая проверка - обязательно есть. Не говоря уже про СМС.

Касаемо oauth2, то вот приличный с примерами: https://0x2a.wtf/projects/poauth2/
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3070
Зарегистрирован: 31.01.2012 16:41:41

Re: Чем пошарить в инете

Сообщение Лекс Айрин » 11.09.2017 11:04:56

vitaly_l писал(а):Зуб - становится на путь крутого хакера! :roll: Теперь Zub обязан бояться даже собственной тени.


окстись! Большая часть работы "хакера" это копание в помойке, вокруг нужного сайта/программы.

vitaly_l писал(а):А с чего они должны быть неудачными? Зуб делает снифером копию логина и пароля. Дешифрует их. Затем стучится с правильными данными на VK.


Каким снифером? Он, вообще-то уже знает логин/пароль. Его задача зайти на сайт, сделать то, что надо и спокойно уйти... Под своей родной учеткой. Примерно то же, что делает родное приложение Контакта.

vitaly_l писал(а):Кстати, я действительно не знаю, есть ли такая проверка на ВК, но на сайтах, которые тревожатся за содержимое скрытое за паролем, такая проверка - обязательно есть.


Есть она...

Код: Выделить всё
7. Меры по защите информации о Пользователях

    ...
    7.3. В целях обеспечения более надежной защиты информации о Пользователях Администрация Сайта использует систему привязки страницы к мобильному телефону. Для осуществления данной системы Пользователь должен предоставить Администрации Сайта номер своего мобильного телефона.
    В рамках системы привязки страницы к мобильному телефону Пользователь в случае утраты логина или пароля может восстановить доступ к странице с помощью кода восстановления, содержащегося в SMS-сообщении, которое Пользователь получает на свой мобильный телефон.
    В целях снижения вероятности использования третьими лицами логинов и паролей Пользователей для отсылки спама от их имени, в случае если ввод логина и пароля Пользователя осуществляется с использованием непривычного для данного Пользователя сервера (в частности, сервера иностранного государства), Администрация Сайта блокирует вход на персональную страницу Пользователя при помощи сообщения с требованием указать некоторые цифры мобильного телефона Пользователя. После трех неудачных попыток ввода цифр возможность доступа к персональной странице с использованием данного сервера блокируется на 4 часа.
    7.4. Пользователь вправе получать информацию о том, в какое время и с каких устройств производилась авторизация на его персональную страницу, с помощью ссылки «Показать историю активности» в разделе «Мои Настройки / Безопасность».

Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: Чем пошарить в инете

Сообщение vitaly_l » 11.09.2017 11:30:45

Лекс Айрин писал(а):Каким снифером?

Зуб-ик, делает DDoS атаку и блокирует трафик. Соответственно подключаются дополнительные сервера, и трафик перенаправляется нестандартным путём. А там у Зуб-ика сидит хитрый снифер. Снифер, копирует передаваемые пароль и логин. Но они естественно зашифрованы: MD5 или SHA. Но Зуб-ик не отчаивается и легко дешифрует примитивные алгоритмы защиты. Затем, Зуб-ик оправляет пароль и логин через сервер жертвы и ВК - ничего не подозревая даёт доступ, т.к. защита ВК - не срабатывает. Но вот проблема, Зуб-ик забыл отправить секретный код и система его обнаруживает, на банальной мелочи и тут уже включаются старшие братья и мгновенно ловят Зуб-ика с поличным. Везут в кутузку.

Так вот, Зуб-ик: Может всё-таки лучше как нормальные люди зайти через API, а не заниматься странным?

/
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3070
Зарегистрирован: 31.01.2012 16:41:41

Re: Чем пошарить в инете

Сообщение Лекс Айрин » 11.09.2017 12:11:54

vitaly_l,

Странно, я думал, что скилл "додумать" бывает только у ревнивых супругов.

vitaly_l писал(а):Так вот, Зуб-ик: Может всё-таки лучше как нормальные люди зайти через API, а не заниматься странным?


А может, он браузер хочет сделать? И потом, человек прямо сказал, что он во всем этом не шарит и хочет разобраться.

vitaly_l писал(а):Везут в кутузку.


Хакерство, само по себе, ничего предосудительного не представляет. Представляет из себя, для правоохранительных органов, интерес попытка помешать работоспособности сайта (оборудования) и/или извлечение из этого выгоды. Т. е. в данном случае это классифицируется как метод, а не уголовное деяние.
Единственным возможным способом извлечения прибыли остается информирование об удачной попытке взлома владельцев сайта. Ну или конкурсы по взлому.
Но и тут бывают неадекватные владельцы, которые могут подать в суд.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: Чем пошарить в инете

Сообщение zub » 11.09.2017 19:03:31

Чем принято парсить html и выуживать из него нужную инфу?
zub
долгожитель
 
Сообщения: 2259
Зарегистрирован: 14.11.2005 23:51:26

Re: Чем пошарить в инете

Сообщение vitaly_l » 11.09.2017 19:23:51

zub писал(а):Чем принято парсить html и выуживать из него нужную инфу?

Всем, что умеет строить DOM. В данном случае, берётся обычный хромиум-браузер-модуль. Где-то совсем недавно обсуждалась эта тема. А дальше, по названиям тегов и их id, name или class - ищутся нужные блоки и из них берётся нужная информация.

PS: многие сайты пишут что, информацию с их сайтов можно брать только с их разрешения.

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3070
Зарегистрирован: 31.01.2012 16:41:41

Re: Чем пошарить в инете

Сообщение zub » 11.09.2017 19:44:21

>>Всем, что умеет строить DOM
Конкретней? что есть для этих целей в fpc\lazarus?
zub
долгожитель
 
Сообщения: 2259
Зарегистрирован: 14.11.2005 23:51:26

Re: Чем пошарить в инете

Сообщение vitaly_l » 11.09.2017 19:44:52

https://github.com/benibela/internettoo ... parser.pas

Добавлено спустя 1 минуту 2 секунды:
TIpHtmlPanel ( стандартный лазарусовский HTML вьювер - тоже может это делать )
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3070
Зарегистрирован: 31.01.2012 16:41:41

Re: Чем пошарить в инете

Сообщение Лекс Айрин » 11.09.2017 19:51:38

vitaly_l писал(а):PS: многие сайты пишут что, информацию с их сайтов можно брать только с их разрешения.


Скорее, цитировать... в противном случае, нет никакого смысла выкладывать ее в открытый доступ. Впрочем, большая часть этой информации перепечатки из других мест.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: Чем пошарить в инете

Сообщение Deimos » 11.09.2017 20:00:54

по конкретно ВК у Тугарина есть видео. Связка API/Delphi/Synapse

https://www.youtube.com/watch?v=bLJdv4C3A-U (не реклама ни в коем случае!!!)

Зная Зуба - он разберется )))
Deimos
постоялец
 
Сообщения: 135
Зарегистрирован: 17.01.2010 00:31:30

Re: Чем пошарить в инете

Сообщение zub » 12.09.2017 03:13:21

Код: Выделить всё
program vktest;

{$mode objfpc} {$H+}

uses sysutils,strutils,classes,fphttpclient,simplehtmltreeparser;

type
  TDummyClassForStringComparer=class
    function UCCompare(const a,b: string): boolean;
  end;

var
  client:TFPHTTPClient;
  Response:TStringList;
  tp:TTreeParser;
  td:TTreeDocument;
  te:TTreeNode;
  loginurl,ip_h,lg_h:string;
  dummytemp:TDummyClassForStringComparer;

function TDummyClassForStringComparer.UCCompare(const a,b: string): boolean;
begin
  result:=uppercase(a)=b;
end;

procedure writelist(list:TStringList);
var
  i:integer;
begin
  for i:=0 to list.Count-1 do
    writeln(list[i]);
end;

procedure writetree(te:TTreeNode;ident:integer);
var
  i:integer;
begin
  writeln(dupestring(' ',ident),te.getValue);
  te:=te.getFirstChild;
  while te<>nil do
  begin
    writetree(te,ident+1);
    te:=te.getNextSibling;
  end;
end;

function FindByUCValue(UCValue:string;te:TTreeNode):TTreeNode;
begin
  te:=te.getFirstChild;
  while te<>nil do
  begin
    if UCValue=uppercase(te.getValue) then
      exit(te);
    result:=FindByUCValue(UCValue,te);
    if result<>nil then
      exit;
    te:=te.getNextSibling;
  end;
  result:=nil;
end;

function FindByUCNameAndReturn(UCName,UCreturnAttrName:string;te:TTreeNode):string;
var
  value:string;
begin
  if te.getAttributeTry('NAME',value,@dummytemp.UCCompare) then
  begin
    if uppercase(value)=UCName then
    begin
      if te.getAttributeTry(UCreturnAttrName,value,@dummytemp.UCCompare) then
      exit(value);
    end;
  end;
  te:=te.getFirstChild;
  while te<>nil do
  begin
    if te.getAttributeTry('NAME',value,@dummytemp.UCCompare) then
    begin
      if uppercase(value)=UCName then
      begin
        if te.getAttributeTry(UCreturnAttrName,value,@dummytemp.UCCompare) then
        exit(value);
      end;
    end;
    result:=FindByUCNameAndReturn(UCName,UCreturnAttrName,te);
    if result<>'' then
      exit;
    te:=te.getNextSibling;
  end;
  result:='';
end;


begin
  client:=TFPHTTPClient.Create(nil);
  client.AllowRedirect:=True;
  client.AddHeader('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36 OPR/47.0.2631.71');
  Response:=TStringList.Create;
  client.Get('https://vk.com',Response);
  //writelist(Response);
  Response.SaveToFile('response.txt');

  tp:=TTreeParser.Create;
  tp.readComments:=true;
  tp.readProcessingInstructions:=true;
  tp.parsingModel:=pmHTML;
  tp.autoDetectHTMLEncoding:=false;
  td:=tp.parseTree(Response.Text);
  //writetree(td,0);

  te:=FindByUCValue('FORM',td);
  loginurl:=FindByUCNameAndReturn('LOGIN','ACTION',te);
  ip_h:=FindByUCNameAndReturn('IP_H','VALUE',te);
  lg_h:=FindByUCNameAndReturn('LG_H','VALUE',te);
  writeln(format('Login url="%s", ip_h="%s",  lg_h="%s"',[loginurl,ip_h,lg_h]));

  tp.free;
  readln;
end.

Выдает Login url="https://login.vk.com/?act=login", ip_h="be7b0a19a6a853c612", lg_h="f3a56581b8de62d0d2"
ip_h всегда одинаковый, lg_h всегда разный. а вот в браузере lg_h тоже всегда одинаковый((
Как такое может быть?
zub
долгожитель
 
Сообщения: 2259
Зарегистрирован: 14.11.2005 23:51:26

Re: Чем пошарить в инете

Сообщение Alex2013 » 12.09.2017 04:40:59

Кстати сталкивался с таким интересным моментом : довольно многие сайты до сих пор поддерживают ТЕКСТОВЫЕ БРАУЗЕРЫ ... :shock:
Улавливаешь в чем фича ? 8) Можно представится древним Линксом и получить ну ОЧЕНЬ простую версию сайта ....
(Дык ! Поисковики парсить милое дело! )

Кстати думаю что мобильная версия сайта тоже может быть существенно проще ... :idea:
Alex2013
энтузиаст
 
Сообщения: 697
Зарегистрирован: 03.04.2013 11:59:44

Re: Чем пошарить в инете

Сообщение vitaly_l » 12.09.2017 07:15:34

zub писал(а):lg_h всегда разный. а вот в браузере lg_h тоже всегда одинаковый((
Как такое может быть?

Нужно знать: "что такое lg_h ?". При условии что, ip_h - это скорее всего хэш ip.

А вообще - ответ на "как такое может быть?" проще простого, т.к. lg_h - вполне может хранится в куках и поэтому, оно всегда "волшебно" одинаковое в браузере и всегда разное без куки. C другой стороны, без знания что такое lg_h - невозможно понять, что именно оно хэширует? И тот и другой хэш нужны для идентификации подключения.

Может всё таки лучше через API? (там всё, кратко - описано в манах, в то время как через парсинг - нужно не только знать HTML и JS, но и ещё кучу сопутствующих вещей). И вообще плохо что. например мои знания (или знания других) Вы используете, как-бы для взлома - взлом это неправильно, у них есть API, специально для таких подключений. Несмотря на, то, что полно примеров на паскале, по взлому ВК с объяснениями про использование lg_h - стыдно за Вас Zub-ик, Вы от написания прекрасных программ, скатились до взлома примитивного ВК и парсинга lg_h. :wink:

PS: вряд-ли кому-то понравится, если на просторах инета появится очередной бот на паскале от Zub-ика, способный печатать на этот форум кучу всякой фигни да ещё и выложенный в открытом доступе с пояснениями как ломать любые сайты. А копипастеры, мгновенно размножат его на весь инет и зомбики начнут с умным видом жать кнопку F9, распространяя зловредную программу на весь мир. В общем, ай-яй-яй :wink: .

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3070
Зарегистрирован: 31.01.2012 16:41:41

Re: Чем пошарить в инете

Сообщение Лекс Айрин » 12.09.2017 10:42:08

vitaly_l писал(а):Может всё таки лучше через API?


На самом деле, как универсальное решение, хуже. Не везде есть API.

vitaly_l писал(а):Вы используете, как-бы для взлома - взлом это неправильно, у них есть API, специально для таких подключений.


Взлом это вполне конкретное понятие -- получение доступа к сайту/серверу/сервису/программе минуя стандартные механизмы авторизации. Ну или подбор/кража пароля. Так что взломом тут и не пахнет. Не пугай людей, а то попытка написать браузер у тебя окажется взломом.

Если уж на то пошло (ударение ставь где нравится :) ) боты вполне легитимно заходят на многие сайты/форумы для их индексации. В том числе, иногда и в "серую" зону. Никого из знающих людей это не волнует, единственное, есть возможность настроить им доступ и отказаться от некоторых из них.

vitaly_l писал(а):вряд-ли кому-то понравится, если на просторах инета появится очередной бот на паскале от Zub-ика, способный печатать на этот форум кучу всякой фигни да ещё и выложенный в открытом доступе с пояснениями как ломать любые сайты.


Скорее, он хочет получать обновления Стены и получать личные сообщения. В крайнем случае поиск информации. Еще более крайний случай использовать прогу как минибраузер по подобию стандартных программ от того же Контакта. В любом случае, легче модифицировать стандартный браузер, для слива инфы, чем самому писать зловред. Расслабься...проще надо быть.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: Чем пошарить в инете

Сообщение vitaly_l » 12.09.2017 11:10:30

Лекс Айрин писал(а):Скорее, он хочет получать обновления Стены и получать личные сообщения.

Вы хотите сказать что наш Зуб-ик, читает все зомби новости на ВК?
И не просто читает, а ещё и хочет не пропустить ни одного спамерского сообщения на ВК?
Зуб-ик - это что же правда, что вы хотите читать все новости на ВК, да ещё и получать оттуда все спам-сообщения в свою программу?

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3070
Зарегистрирован: 31.01.2012 16:41:41

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google Adsense [Bot], Yandex [Bot] и гости: 8

Рейтинг@Mail.ru