информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsСетевые кракеры и правда о деле ЛевинаАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Линуксовый ботнет, распространяющийся... 
 Конец поддержки Internet Explorer 
 Рекордное число уязвимостей в 2021 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
отправляется запрос веб серверу, клиент от него получает 1 файл и виснет 26.04.08 03:44  Число просмотров: 2077
Автор: saynsk2 Статус: Незарегистрированный пользователь
<"чистая" ссылка>
отправляется запрос веб серверу, клиент от него получает 1 файл и виснет.
В чем может быть проблема?
код следущий:

//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#include <windowsx.h>
#include <winsock2.h>
#pragma comment( lib, "Ws2_32.lib" )
#include <stdlib.h>
#pragma hdrstop
#include "Unit2.h"
#include "Unit3.h"
#include "Unit1.h"
#define OUT_IP "127.0.0.1"
#pragma package(smart_init)
#pragma resource "*.dfm"
#define IN_PORT 60
TForm1 *Form1;
int gha;
qwe *we[50];
int e;
int s=0;
int kk;
SOCKET u;
int qaz;
SOCKET ds[24];
HANDLE ThreadInfo[24];
int rt=0;
int rr=0;
char ssc[]=" HTTP/1.1\r\n"
"User-Agent: Opera/9.00 (Windows NT 5.1; U; en)\r\n"
"Host: 127.0.0.1:60\r\n"
"Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n"
"Accept-Language: ru,en;q=0.9\r\n"
"Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n"
"Connection: Keep-Alive\r\n\r\n";
//---------------------------------------------------------
char dfg1[]="HTTP/1.1 200 OK\n"
"Content-Length: 1600\n"
"Content-Type: text/html\n"
"\n"
"\n"
"<html>"
"<head>"
"<title>Untitled Document</title>"
"<meta http-equiv='Content-Type' content='text/html' charset='windows-1251'>"
"</head>"
"<frameset rows='30%,70%'>"
"<frame name='q1' src='pizdce'>"
"<frame name='q2' src='popm'>"
"</html>";
char dfg[]="HTTP/1.1 200 OK\n"
"Content-Length: 60\n"
"Content-Type: text/html\n"
"\n"
"\n"
"<script>"
"var d=0;"
"function show()"
"{d=d+1;"
"if (d<2)"
"{"
"self.parent.frames.q2.location='http://127.0.0.1:60/popu";
char dfgt[]="';}"
"setTimeout('show()',1);"
"}"
"</script>"
"<html>"
"<head>"
"<title>Untitled Documen</title>"
"<meta http-equiv='Content-Type' content='text/html' charset='windows-1251'>"
"</head>"
"<body onLoad='show()'>"
"<form name='form1' method='get' action='w'>"
"<input type='text' name='rfzda'>"
"<input type='submit' name='Submit' value='Submit'>"
"</form>"
"</body>"
"</html>";
//--------------------------------------------------------------------
DWORD WINAPI CountThread(LPVOID arg)
{
struct sockaddr_in ssin;
struct hostent* hp;
int rr,rt2;
int ery;
int kl=0;
char *buf1;
int i;
SOCKET s1;
int k1=0;
int yy=0;
int jk=0;
int df=0;
int azx=0;
int fff=0;
char sdd[]="&pk=http";
int ss=0;
int ffs=0;
int kl1=0;
int bnh=0;
char bufg1 [300];
char buf2 [1000];
//AnsiString g="ÏÎØÅË ";
//g=g+AnsiString(rt++);
rr=rt;
SOCKET su;
char *buf;
char *buf3;
//g:
//if (s==1) goto y;
//goto g;
//y:
//AnsiString g="potok N"+AnsiString(rr);
char bufg [100];
jjk:
if (s!=1) goto jjk;
buf1= new char [10000000];
buf3= new char [10000000];
buf= new char [10000000];
//s=0;
su=ds[qaz];
//asw="ss"+AnsiString(s);
qaz++;
int r=recv(su,buf,1000,0);
if (r==SOCKET_ERROR)
{
Form1->Memo1->Lines->Add("recv");
delete buf1;
delete buf3;
delete buf;
closesocket(su);
qaz--;
s=0;
goto jjk;
return 0;
}
Form1->Memo1->Lines->Add(AnsiString("razmer buf:")+r);
Form1->Memo1->Lines->Add(AnsiString(buf));
for (i=0;i<1000;i++)
{
if (buf[i]==' ' && jk==0)
{
jk=1;
kl1=i+2;
}
//-------------------------------------------------------------------
if (fff==1)
if (buf[i+1]!='&')
{
if (buf[i+1]=='h' && buf[i+2]=='t' && buf[i+3]=='t' && buf[i+4]=='p')
{
yy=1;
i=i+13;
}
if (buf[i+1]=='%' && buf[i+2]=='2' && buf[i+3]=='F')
{
bufg1[bnh++]='/';
i=i+2;
}
else
bufg1[bnh++]=buf[i+1];
}
else
{
bufg1[bnh]='\0';
fff=0;
strcpy(buf2,dfg);
strcat (buf2,bufg1);
if (yy==1) strcat (buf2,sdd);
strcat (buf2,dfgt);
int hh=sizeof(dfg)+sizeof(dfgt)+bnh;
bnh=0;
//if (yy==1) hh=hh+sizeof(sdd);
send(su,buf2,hh,0);
closesocket(su);
qaz--;
Form1->Memo1->Lines->Add(AnsiString("1111111111111111111111111111111111"));
s=0;
delete buf1;
delete buf3;
delete buf;
goto jjk;
return 0;
}
//--------------------------------------------
if (buf[i-4]=='r' && buf[i-3]=='f' && buf[i-2]=='z' && buf[i-1]=='d' && buf[i]=='a')
{
Form1->Memo1->Lines->Add(AnsiString("rfzda"));
fff=1;
}
//--------------------------------------------
if (buf[i]=='p' && buf[i+1]=='i' && buf[i+2]=='z' && buf[i+3]=='d' && buf[i+4]=='c' && buf[i+5]=='e')
{
Form1->Memo1->Lines->Add(AnsiString("pizdce"));
char df[]="127.0.0.1/g/yot.asp";
strcpy (buf2,dfg);
strcat (buf2,df);
strcat (buf2,dfgt);
int hh=sizeof(dfg)+sizeof(df)+sizeof(dfgt);
Form1->Memo1->Lines->Add(AnsiString(buf2));
send(su,buf2,hh,0);
closesocket(su);
qaz--;
Form1->Memo1->Lines->Add(AnsiString("333333333333333333333333333333"));
s=0;
delete buf1;
delete buf3;
delete buf;
goto jjk;
return 0;
}
//--------------------------------------------------------------
if (ffs==1)
{
//Form1->Memo1->Lines->Add(AnsiString("ffs"));
if (buf[i]!='&')
{
if (buf[i]=='/') azx=1;
if (azx==1)
buf1[bnh++]=buf[i];
}
else
{
buf1[bnh]='\0';
bnh=0;
//delete buf;
//buf= new char [10000000];
char ddw[]="GET ";
strcpy(buf,ddw);
strcat(buf,buf1);
Form1->Memo1->Lines->Add(AnsiString(buf1));
strcat(buf,ssc);
ffs=0;
goto dd;
}}
//--------------------------------------------------------------
if (buf[i]=='p' && buf[i+1]=='o' && buf[i+2]=='p' && buf[i+3]=='m')
{
azx=0;
bnh=0;
Form1->Memo1->Lines->Add(AnsiString("popm"));
closesocket(su);
Form1->Memo1->Lines->Add(AnsiString("444444444444444444444444444444444"));
qaz--;
s=0;
delete buf1;
delete buf;
delete buf3;
goto jjk;
return 0;
}
//--------------------------------------------------------------
if (buf[i]=='p' && buf[i+1]=='o' && buf[i+2]=='p' && buf[i+3]=='u')
{
Form1->Memo1->Lines->Add(AnsiString("popu"));
/*
azx=0;
bnh=0;
Form1->Memo1->Lines->Add(AnsiString("popm"));
closesocket(su);
Form1->Memo1->Lines->Add(AnsiString("444444444444444444444444444444444"));
qaz--;
delete buf1;
delete buf;
delete buf3;
return 0;
*/
ffs=1;
}
//--------------------------------------------------------------
if (kl==0)
bufg[i-kl1]=buf[i-1];
if (buf[i]=='H' && buf[i+1]=='T' && buf[i+2]=='T')
{
bufg[i-kl1]='\0';
rr=i-kl1;
kl=1;
}
}
buf[r]='\0';
if (bufg[0]=='/' && rr==1)
{
//Form1->Memo1->Lines->Add(AnsiString(bufg));
//Form1->Memo1->Lines->Add(AnsiString(buf));
send(su,dfg1,sizeof(dfg1),0);
closesocket(su);
Form1->Memo1->Lines->Add(AnsiString("5555555555555555555555555555555555"));
qaz--;
s=0;
delete buf1;
delete buf3;
delete buf;
goto jjk;
return 0;
}
dd:
//Form1->Memo1->Lines->Add(r);
Form1->Memo1->Lines->Add(AnsiString(buf));
int j;
fff=0;
int PortNum = 80;
ssin.sin_family = AF_INET;
ssin.sin_addr.s_addr = inet_addr(OUT_IP);
ssin.sin_port = htons(PortNum);
if((s1=socket(AF_INET, SOCK_STREAM, 0))==-1)
Form1->Memo1->Lines->Add(AnsiString("SOCKET"));
if(connect(s1,(PSOCKADDR)&ssin, sizeof(ssin))==-1)
Form1->Memo1->Lines->Add(AnsiString("CONNECT"));
send(s1,buf,r,0);
Form1->Memo1->Lines->Add("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
Form1->Memo1->Lines->Add(AnsiString(s1));
WSABUF in;
//WSAOVERLAPPED async;
WSABUF wbuf;
DWORD dwBytesRecv,dwFlags;
wbuf.buf = buf3;
wbuf.len = 1000;
dwFlags = 0;
//причина здесь
//----------------------------------------------------------------
int ret = WSARecv(s1, &wbuf, 1, &dwBytesRecv,&dwFlags, NULL, NULL);
//r=recv(s1,buf3,10000000000000,0);
//----------------------------------------------------------------
Form1->Memo1->Lines->Add("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
int yhy;
if (r==SOCKET_ERROR)
{
Form1->Memo1->Lines->Add("recv1");
yhy=WSAGetLastError();
}
//Form1->Memo1->Lines->Add(AnsiString("prinytoe ot servera:"));
if (yhy==WSANOTINITIALISED) Form1->Memo1->Lines->Add("WSANOTINITIALISED");
if (yhy==WSAENETDOWN) Form1->Memo1->Lines->Add("WSAENETDOWN");
if (yhy==WSAENOTCONN) Form1->Memo1->Lines->Add("WSAENOTCONN");
if (yhy==WSAEINTR)Form1->Memo1->Lines->Add("WSAEINTR");
if (yhy==WSAEINPROGRESS)Form1->Memo1->Lines->Add("WSAEINPROGRESS");
if (yhy==WSAENOTSOCK)Form1->Memo1->Lines->Add("WSAENOTSOCK");
if (yhy==WSAESHUTDOWN) Form1->Memo1->Lines->Add("WSAESHUTDOWN");
if (yhy==WSAEWOULDBLOCK) Form1->Memo1->Lines->Add("WSAEWOULDBLOCK");
if (yhy==WSAEMSGSIZE) Form1->Memo1->Lines->Add("WSAEMSGSIZE");
if (yhy==WSAEINVAL) Form1->Memo1->Lines->Add("WSAEINVAL");
if (yhy==WSAECONNABORTED) Form1->Memo1->Lines->Add("WSAECONNABORTED");
if (yhy==WSAECONNRESET) Form1->Memo1->Lines->Add("WSAECONNRESET");
Form1->Memo1->Lines->Add(AnsiString(yhy));
Form1->Memo1->Lines->Add(AnsiString(buf3));
for (i=0;i<1000;i++)
{
if (buf3[i]=='L' && buf3[i+1]=='e' && buf3[i+2]=='n' && buf3[i+3]=='g' && buf3[i+4]=='t' && buf3[i+5]=='h')
for (j=0;j<9;j++)
{
buf2[j]=buf3[i+j+8];
if (buf2[j]=='\n')
{
buf2[j]=='\0';
goto h;
}}
//-----------------------------------------------------
h:
if (buf3[i]=='\n' && buf3[i+2]=='\n')
{
ery=i+1;
//ss=1;
goto ff;
}
/*
if (ss==1)
{
if (buf3[i-5]=='h' && buf3[i-4]=='t' && buf3[i-3]=='t' && buf3[i-2]=='p' && buf3[i-1]==':' && buf3[i]=='/')
{
fff=1;
char hhj[]="http://127.0.0.1/pivo=";
strcat(buf1,hhj);
bnh=bnh+22;
}
if (fff==1)
if (buf3[i+1]!='"')
buf[df++]=buf3[i+1];
else
{
buf[df]='\0';
bnh=bnh+df;
df=0;
fff=0;
strcat(buf1,buf);
}}
buf1[bnh++]=buf3[i];
*/
}
ff:
int d=atoi(buf2);
strcpy(buf1,buf3);
int k=d;
fff=0;
k=k+ery-r;
//int s=0;
int eee=r;
AnsiString hju;
if (d>1000)
{
nn:
Form1->Memo1->Lines->Add("d>1000");
r=recv(s1,buf3,k,0);
hju="r"+AnsiString(r);
Form1->Memo1->Lines->Add(hju);
if (r==0) goto aaa;
if (r!=SOCKET_ERROR)
{
eee=r+eee;
k=k-r;
strcat (buf1,buf3);
//s++;
hju="k"+AnsiString(k);
Form1->Memo1->Lines->Add(hju);
goto nn;
}else
Form1->Memo1->Lines->Add("error");
}
aaa:
hju="s"+AnsiString(s);
Form1->Memo1->Lines->Add(AnsiString(s));
Form1->Memo1->Lines->Add("DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD");
Form1->Memo1->Lines->Add(AnsiString(buf1));
//Form1->Memo1->Lines->Add(r);
//r=recv(s1,buf3,100000000000000000,0);
//k1=k1-r;
//if (k1>0 | k1!=0) goto ggg;
//Form1->Memo1->Lines->Add(AnsiString(buf1));
//Form1->Memo1->Lines->Add("DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD");
//Form1->Memo1->Lines->Add("");
//Form1->Memo1->Lines->Add(AnsiString(buf1));
/*
for (i=0;i<k1;i++)
{
//int gg=r-i;
//Form1->Memo1->Lines->Add(gg);
if (buf3[i-5]=='h' && buf3[i-4]=='t' && buf3[i-3]=='t' && buf3[i-2]=='p' && buf3[i-1]==':' && buf3[i]=='/')
{
fff=1;
char hhj[]="http://127.0.0.1/pivo=";
strcat(buf1,hhj);
bnh=bnh+22;
}
if (fff==1)
if (buf3[i+1]!='"')
buf[df++]=buf3[i+1];
else
{
buf[df]='\0';
bnh=bnh+df;
df=0;
fff=0;
strcat(buf1,buf);
}
buf1[bnh++]=buf3[i];
}
*/
//buf1[bnh]='\0';
//bnh=bnh+1000000;
//int rre=send(su,buf1,bnh,0);
//Form1->Memo1->Lines->Add(AnsiString(bnh));
//Form1->Memo1->Lines->Add(AnsiString(rre));
//Form1->Memo1->Lines->Add("RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR");
//Form1->Memo1->Lines->Add(AnsiString(buf1));
//Form1->Memo1->Lines->Add(k);
//Form1->Memo1->Lines->Add(rre);
send(su,buf1,eee,0);
closesocket(su);
shutdown(s1,2);
closesocket (s1);
qaz--;
Form1->Memo1->Lines->Add(AnsiString("6666666666666666666666666666666666"));
delete buf1;
delete buf3;
delete buf;
s=0;
kk++;
goto jjk;
//CloseHandle(GetCurrentThread());
return 0;
}
//--------------------------------------------------------------
DWORD WINAPI CountThrea(LPVOID arg)
{
DWORD dwThreadID;
sockaddr addr1;
WSADATA stWSADataTCPIP;
char buf[100000];
WSAStartup(0x0101, &stWSADataTCPIP);
int hListenSockTCP = socket (AF_INET,SOCK_STREAM,0);
if (hListenSockTCP==0) Form1->Memo1->Lines->Add("ERROR socket");
SOCKADDR_IN myaddrTCP;
myaddrTCP.sin_family = AF_INET;
myaddrTCP.sin_addr.s_addr = htonl (INADDR_ANY);
myaddrTCP.sin_port = htons (IN_PORT);
int r=bind( hListenSockTCP,(LPSOCKADDR)&myaddrTCP, sizeof(struct sockaddr));
if (r==0) Form1->Memo1->Lines->Add("bind");
r=listen (hListenSockTCP, SOMAXCONN);
if (r==0) Form1->Memo1->Lines->Add("listen");
int j=sizeof(struct sockaddr);
bb:
if (s==0)
{
u=accept (hListenSockTCP,&addr1,&j);
if (u!=INVALID_SOCKET)
{
qaz=0;
Form1->Memo1->Lines->Add("accept");
ds[qaz]=u;
AnsiString gg="tt"+AnsiString(s);
Form1->Memo1->Lines->Add(gg);
s=1;
//ThreadInfo[qaz] = CreateThread (NULL,0,&CountThread,NULL,0,&dwThreadID);
//SetThreadPriority(ThreadInfo[qaz],THREAD_PRIORITY_BELOW_NORMAL);
}
else
Form1->Memo1->Lines->Add("accept error");
}
goto bb;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
kk=0;
DWORD dwThreadID;
HANDLE ThreadInfo;
HANDLE ThreadInfo1;
gha=1;
qaz=0;
ThreadInfo = CreateThread (NULL,0,&CountThrea,NULL,0,&dwThreadID);
SetThreadPriority(ThreadInfo, THREAD_PRIORITY_BELOW_NORMAL);
ThreadInfo1 = CreateThread (NULL,0,&CountThread,NULL,0,&dwThreadID);
SetThreadPriority(ThreadInfo1,THREAD_PRIORITY_BELOW_NORMAL);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
WSACleanup ();
}
//---------------------------------------------------------------------------
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach