Статья Имитация взлома или как обманывают во Вконтакте

Попросил меня мой хороший товарищ, написать такую программу, которая будет менять вёрстку в браузере на лету, дабы похвастаться перед друзьями сколько много у него денег на счету или обмануть каких - нибудь людей "взломом вк".

Казалось бы, "Да чё нам стоит - дом построить", залез в исходный код элемента, нажал редактировать элемент, поменял в вёрстке на нужный элемент. Профит. Дело это, конечно, хорошее, но беда в том, что ничего из этого не выйдет и после перезагрузки страницы наш счет вернется на прежний. Что же давайте это поправим....

Итак, пишем собственного бота для работы со стороннем браузером на C# или прокси сервер.

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

Поехали.

Открываем Visual Studio, создаем консольный проект. А далее устанавливаем следующий пакет.
Код:
Install-Package Titanium.Web.Proxy

Как это сделать?

Открываем Консоль диспетчера пакетов
upload_2016-12-30_0-18-34.png


И в окне вводим команду выше.

А далее всё просто. Пишем следующий код.

Код:
using System;
using System.Net;
using System.Threading.Tasks;
using Titanium.Web.Proxy;
using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Models;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ProxyServer proxy = new ProxyServer();

            proxy.TrustRootCertificate = true;
            proxy.BeforeRequest -= OnRequest; // Подписываем методы запрос
            proxy.BeforeResponse -= OnResponse; // Подписываем методы ответа
            proxy.ServerCertificateValidationCallback -= OnCertificateValidation; // Получени сертификата для SSL
            proxy.ClientCertificateSelectionCallback -= OnCertificateSelection;

           // Создаем точки входа и исключения
            ExplicitProxyEndPoint explicitEndPoint = new ExplicitProxyEndPoint(IPAddress.Any, 8000, true);
            proxy.AddEndPoint(explicitEndPoint);
            proxy.Start();

            var transparentEndPoint = new TransparentProxyEndPoint(IPAddress.Any, 8001, true)
            {
                GenericCertificateName = "google.com"
            };

            proxy.AddEndPoint(transparentEndPoint);

            foreach (ProxyEndPoint endPoint in proxy.ProxyEndPoints)
                Console.WriteLine("Listening on '{0}' endpoint at Ip {1} and port: {2} ",
                    endPoint.GetType().Name, endPoint.IpAddress, endPoint.Port);

            // Устанавливаем прокси
            proxy.SetAsSystemHttpProxy(explicitEndPoint);
            proxy.SetAsSystemHttpsProxy(explicitEndPoint);

            Console.Read();

            proxy.BeforeRequest -= OnRequest;
            proxy.BeforeResponse -= OnResponse;
            proxy.ServerCertificateValidationCallback -= OnCertificateValidation;
            proxy.ClientCertificateSelectionCallback -= OnCertificateSelection;
            proxy.Stop();
        }

        public static async Task OnRequest(object sender, SessionEventArgs e)
        {
            Console.WriteLine(e.WebSession.Request.Url);

            requestHeaders = e.WebSession.Request.RequestHeaders;

            var method = e.WebSession.Request.Method.ToUpper();
            if ((method == "POST"))
            {
                byte[] bodyBytes = await e.GetRequestBody();
                await e.SetRequestBody(bodyBytes);
                string bodyString = await e.GetRequestBodyAsString();
                await e.SetRequestBodyString(bodyString);
            }
        }

        public static async Task OnResponse(object sender, SessionEventArgs e)
        {
            var responseHeaders = e.WebSession.Response.ResponseHeaders;
            if (e.WebSession.Request.Method == "GET" || e.WebSession.Request.Method == "POST")
            {
                // Если всё ок возвращаем ответ
                if (e.WebSession.Response.ResponseStatusCode == "200")
                {
                    if (e.WebSession.Response.ContentType != null && e.WebSession.Response.ContentType.Trim().ToLower().Contains("text/html"))
                    {
                        byte[] bodyBytes = await e.GetResponseBody();
                        await e.SetResponseBody(bodyBytes);
                        // если запрашиваем вконтакте
                        if (e.WebSession.Request.Url.Contains("vk.com"))
                        {
                            //то изменяем верстку
                            string body = e.GetResponseBodyAsString();
                            await e.SetResponseBodyString(body.Replace(@"<span class=""current_text"">W.E.L.C.O.M.E..</span>", @"<span class=""current_text"">Специально для Codeby</span>"));
                        }
                        else
                        {
                            string body = await e.GetResponseBodyAsString();
                            await e.SetResponseBodyString(body);
                        }
                    }
                }
            }
        }

        public static Task OnCertificateValidation(object sender, CertificateValidationEventArgs e)
        {
            if (e.SslPolicyErrors = System.Net.Security.SslPolicyErrors.None)
                e.IsValid = true;

            return Task.FromResult(0);
        }

        public static Task OnCertificateSelection(object sender, CertificateSelectionEventArgs e)
        {
            return Task.FromResult(0);
        }
    }
}

Меня просили пилить видосики к статьям, вот Вам видосик.

 
Вот так вот и разводят вас на покупку яко бы "взлома голосов вконтакте" и всего что можно изменить визуально на странице )))
Автору спасибо)
 
Последнее редактирование:
  • Нравится
Реакции: ghostphisher и BaJIepraH
Вот так вот и разводят вас на покупку якобы "взлома голосов вконтакте" и все го что можно изменить визуально на странице )))
Автору спасибо)

А другие за такие скрипты бабло дерут со школоты и ботнетом заражают )
***Скрытый текст***
Как бы валлпапер рабочего стола получить?

Я даже не знаю зачем и как использовать информацию выше.
 
Вот так вот и разводят вас на покупку якобы "взлома голосов вконтакте" и все го что можно изменить визуально на странице )))
Автору спасибо)

А другие за такие скрипты бабло дерут со школоты и ботнетом заражают )
***Скрытый текст***
ну зачем ты этого ушлёпка сюда запостил )))))
 
  • Нравится
Реакции: m0tion
Вот так вот и разводят вас на покупку якобы "взлома голосов вконтакте" и все го что можно изменить визуально на странице )))
Автору спасибо)

А другие за такие скрипты бабло дерут со школоты и ботнетом заражают )
***Скрытый текст***
это что за обморок?зачем он ведет видеоблог?
 
Как бы валлпапер рабочего стола получить?

Я даже не знаю зачем и как использовать информацию выше.
Это собственный прокси - сервер. Зачем использовать прокси - сервер?! Ты можешь через себя прогонять весь свой (и не только свой) трафик и видоизменять его как хочешь. Самый простой сценарий это писать фейковые взломщики вк, которые будут выглядеть более чем правдободонным, можешь прикручивать любой процессинг, подменять SSL, писать ботов, да что хочешь. В умелых руках это действительно сильное оружие. А если у тебя еще и белый ip, можешь вообще под своей собственной проксёй ходить, откуда угодно.
 
Последнее редактирование:
это что за обморок?зачем он ведет видеоблог?
Очередной герой школьных хекеров...
Для чего ведет видеоблог - скорее всего как и большинствр видеоблогеров - для заработка,для рекламы своих програмулек,для распространенние по (Вредоносного или нет,пока хз).
 
Очередной герой школьных хекеров...
Для чего ведет видеоблог - скорее всего как и большинствр видеоблогеров - для заработка,для рекламы своих програмулек,для распространенние по (Вредоносного или нет,пока хз).
ХЗ, мне кажется, он такое не напишет.
 
Изи ошибки исправить) Всё компилиться, но не работает, проверял на мозилле
В настройках прокси браузера что ставить? использовать системные настройки прокси?
 
Изи ошибки исправить) Всё компилиться, но не работает, проверял на мозилле
В настройках прокси браузера что ставить? использовать системные настройки прокси?
Значит, что то не так исправил.

Пришли мне код в лс, только христа ради не через кодеби. Меня раздражает покраска кода на форуме. Пости через pastebin и желательно приват.

UPDATE: Прокси ставится автоматический, ничего ставить самому не нужно.
 
  • Нравится
Реакции: bitlord
Значит, что то не так исправил.
Что-то не так исправить проблемно, так как ты код на видео засветил ) Присоединюсь, что не работает. По началу думал, что проблема в портативном браузере, но оказалось, что нет и на заинсталеном работать не желает. Реализация интересная и про библу не слышал такую. Однозначный плюс за труды.
 
Что-то не так исправить проблемно, так как ты код на видео засветил ) Присоединюсь, что не работает. По началу думал, что проблема в портативном браузере, но оказалось, что нет и на заинсталеном работать не желает. Реализация интересная и про библу не слышал такую. Однозначный плюс за труды.
Пришли мне исправленный код в ЛС. Тольтко аналогично на pastebin. Предыдущий клиент исправил не до конца.
 
Очередной герой школьных хекеров...
Для чего ведет видеоблог - скорее всего как и большинствр видеоблогеров - для заработка,для рекламы своих програмулек,для распространенние по (Вредоносного или нет,пока хз).
ХЗ, мне кажется, он такое не напишет.
Приятного просмотра.
 
Приятного просмотра.
Это что за туфту ты мне пытаешься впарить?
Код в студию, я на него взгляну и тогда поговорим. Пока не убедил, что этот клоун способен на что - то большее чем веселить знающих людей и поражать школоту своими псевдо "скиллами".
 
Ещё одно доказательство, что Mr. Alex кидок и мошенник.
p.s. сорцы по ссылке в описании.
p.s.2 к этой теме(прокси серверу) не имеет никакого отношения
Аааа, Я думал ты наоборот его защищаешь. Лапа..На видосе не сорцы, точнее сорцы декомпилированного билда msil.
 
еще один способ - написать расширение для браузера
 
еще один способ - написать расширение для браузера
А как ты его запустишь? И будешь контролить траффик и видоизменять его?

UPDATE: А главное как это будет работать во всех браузерах.
 
Последнее редактирование:
А как ты его запустишь? И будешь контролить траффик и видоизменять его?

UPDATE: А главное как это будет работать во всех браузерах.

API расширений несильно отличаются друг от друга, и в основном отличия есть у firefox, но в целом для таких нужд их практически нет, все взаимодействие идет через JS код, манипулированием DOM, что в разы мощнее, чем простая замена текста в запросе, установка - через настройки браузера или стор приложений, вопрос доставки - это уже другой вопрос). Плюсы: кроссплатформенность, работать будет на любом современном браузере, возможность выполнять некоторые действия от лица пользователя, не нужно заморачиваться с сертификатами для ssl и системными прокси, минусы: может быть задержка в обработке сложной логики при переходах в SPA приложениях) а в случае с прокси кстати в SPA ничего вообще не будет работать
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!