Как отправить запрос и получить ответ через SSL сокеты

Тема в разделе "WASM.NETWORKS", создана пользователем Aoizora, 4 ноя 2023.

  1. Aoizora

    Aoizora Active Member

    Публикаций:
    0
    Регистрация:
    29 янв 2017
    Сообщения:
    354
    Я хочу прочитать данные с сервера, соединение с которым защищено SSL, и попробовать реализовать long polling dos атаку. Как правильно общаться с сервером через SSL сокеты? Вот этот код ничего не получает от сервера (для примера взят вк).

    Код (Java):
    1.  
    2. package socket;
    3.  
    4. import javax.net.ssl.SSLSocket;
    5. import javax.net.ssl.SSLSocketFactory;
    6. import java.io.*;
    7.  
    8. public class Main
    9. {
    10.     private final static String target = "vk.com";
    11.  
    12.     public static void main(String[] args) throws IOException
    13.     {
    14.         try (var s = (SSLSocket) SSLSocketFactory.getDefault().createSocket(target, 443);
    15.              var in = new BufferedReader(new InputStreamReader(s.getInputStream()));
    16.              var out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream()))))
    17.         {
    18.             s.startHandshake();
    19.  
    20.             out.println("GET / HTTP/1.1");
    21.             out.println(String.format("Host: %s", target));
    22.             out.println("Connection: close");
    23.             out.println();
    24.             out.flush();
    25.  
    26.             if (out.checkError())
    27.                 System.out.println("SSLSocketClient:  java.io.PrintWriter error");
    28.  
    29.             while (in.ready())
    30.             {
    31.                 System.out.println(in.readLine());
    32.             }
    33.         }
    34.     }
    35. }
    36.  
     
  2. mantissa

    mantissa Мембер Команда форума

    Публикаций:
    0
    Регистрация:
    9 сен 2022
    Сообщения:
    142
    in.ready() не блокирующий, ответ не успевает прийти
     
  3. Aoizora

    Aoizora Active Member

    Публикаций:
    0
    Регистрация:
    29 янв 2017
    Сообщения:
    354
    С паузой тоже не работает


    Код (Text):
    1. try
    2.             {
    3.                 Thread.sleep(10000);
    4.             }
    5.             catch (InterruptedException ignore) {}
     
  4. mantissa

    mantissa Мембер Команда форума

    Публикаций:
    0
    Регистрация:
    9 сен 2022
    Сообщения:
    142
    Код (Text):
    1.     String line;
    2.             while ((line = in.readLine()) != null) {
    3.                 System.out.println(line);
    4.             }
    У меня выводит.
     
    Aoizora нравится это.
  5. Aoizora

    Aoizora Active Member

    Публикаций:
    0
    Регистрация:
    29 янв 2017
    Сообщения:
    354
    Точно, спасибо
    --- Сообщение объединено, 5 ноя 2023 ---
    Эксплоит отлично работает, сервак упал, но рестартится каждый раз каким-то механизмом.
     
  6. Aoizora

    Aoizora Active Member

    Публикаций:
    0
    Регистрация:
    29 янв 2017
    Сообщения:
    354
  7. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    359
    от 1 конекта завалился ВК ? :) : ) :)
     
  8. Aoizora

    Aoizora Active Member

    Публикаций:
    0
    Регистрация:
    29 янв 2017
    Сообщения:
    354
    Не вк, а один сайт без защиты от доса
    От 100к коннектов
    вк вряд ли получится завалить, там на защиту не поскупились

    1) Делаешь многопоточное приложение)
    2) Каждый поток делает long read из сокета по одному байту в секунду
    3) После 666 байта обрыв соединения. На той стороне продолжается процесс отправки байтиков и живет тред, а мы не тратим ресурсы. Сокет - ресурс ядра
     
    Последнее редактирование: 5 ноя 2023
    alex_dz нравится это.
  9. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    690
    это ты так сплайс атаку пытаешься сделать, полный сенд и много маленьких ресивов. Ну я так понимаю, почему на яве то, оченб мало кто такое на яве пишет или Ц или питон, иногда всё вместе. Настрой лучше таймаут на ресивах чем слип юзать(это если на блокирующих). А вообще делай на нонблокинг и по циклу опрашивай свои сокеты или не опрашивай .. это другая атака =))
     
    Последнее редактирование: 18 ноя 2023
    q2e74 нравится это.
  10. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    993
    пока кубик новые контейнеры будет поднимет раз за разом, сием поднимет сперва флаги, а потом забанит айпи.