elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 14:23  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  phpBB Auth. Bypass and "admin_styles" Code Injection Exploit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: phpBB Auth. Bypass and "admin_styles" Code Injection Exploit  (Leído 878 veces)
LoKuS

Desconectado Desconectado

Mensajes: 4



Ver Perfil
phpBB Auth. Bypass and "admin_styles" Code Injection Exploit
« en: 16 Marzo 2005, 05:03 »

wenas tengo un problemilla....no puedo copilarlo :S
en el dev me tira muchisimos errores y con el visual studio solo este
"fatal error C1083: Cannot open include file: 'serv.h': No such file or directory
Error executing cl.exe."
alguien tiene idea de como podria copilarlo bien?? o como modificar el codigo para arreglar el error??? yo intente un par de cosas pero lo mio no es la programacion en C :S

pd: me olvide de poner la fuete :P
http://www.k-otik.com/exploits/20050314.phpbbexp.cpp.php
En línea

Nosotros Les Dimos El Poder....Es Hora De Que Se Lo Quitemos
Ivanchuk


Desconectado Desconectado

Mensajes: 466


LLVM


Ver Perfil WWW
Re: phpBB Auth. Bypass and "admin_styles" Code Injection Exploit
« Respuesta #1 en: 19 Marzo 2005, 07:39 »

Código:
/*******serv.h**********/
class serveur
{
public:
bool createsocket();
bool listen(unsigned short port,unsigned int nbwaitconnect);
serveur * waitconnect();
bool connectsocket(char *dns,unsigned short port);
bool socketsend(char *envoi);
bool getword(char in[],unsigned int max);
bool getword(char in2[]);
bool getline(char buf[],unsigned int maxcara);
bool getline(char buf2[]);
bool ifgetchar(char *caraif);
bool ifchargetnb(char ligne[],unsigned int aumax);
bool ifchargetline(char ligne[],unsigned int lemax);
bool ifchargetline(char ligne[]);
bool getnb(char *vect,unsigned int nb);
bool sendnb(char *vec,unsigned int longueur);
bool isconnect();
int getnumsock();
void closesock();
bool createbytheclass(int thesock,struct sockaddr_in thestruct);
unsigned int maxread;
unsigned int seconde;
unsigned int microseconde;
serveur();
~serveur();
void operator << (char *chaine);
void operator >> (char *read);

private:
bool connected;
bool create;
struct sockaddr_in mysock;
int sock;

};
/*******fin serv.h ******/
/******* serv.cpp*******/
#include <winsock.h>
#include <string.h>

#include "serv.h"

bool serveur::createsocket()
{
if (create)
return 0;
sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if(sock <0)
{
create = 0;
return 0;
};
create = 1;
return sock;
}

bool serveur::listen(unsigned short port, unsigned int nbwaitconnect)
{
int test;
memset(&mysock, 0, sizeof(mysock));
mysock.sin_family = AF_INET ;
mysock.sin_addr.s_addr = htonl(INADDR_ANY);
mysock.sin_port = htons(port);
test = bind(sock,(sockaddr *) &mysock,sizeof(mysock));
if (test <0)
{
closesock();
return 0;
};
listen(sock,nbwaitconnect);
return 1;
}

serveur * serveur::waitconnect()
{
struct sockaddr_in astruct;
int taille;
int asock;
serveur * newsock ;
taille = sizeof(astruct);
asock = accept(sock, (sockaddr *) &astruct,&taille);
newsock = new serveur ;
newsock->createbytheclass(asock,astruct);
return newsock;
}

bool serveur::connectsocket(char *dns,unsigned short port)
{
struct hostent *hoste;
int test;
memset(&mysock, 0, sizeof(mysock));
if(!(hoste = gethostbyname(dns)))
mysock.sin_addr.s_addr = inet_addr(dns);
else
memcpy(&(mysock.sin_addr),hoste->h_addr,hoste->h_length);
mysock.sin_family = AF_INET ;
mysock.sin_port = htons(port);
test = connect(sock,(struct sockaddr *) &mysock , sizeof(mysock));
if(test <0)
return 0;
connected = 1;
return 1;
};

bool serveur::socketsend(char *envoi)
{
int veri;
int taiverif;
if(!connected)
return 0;
veri = strlen(envoi);
taiverif = send(sock,envoi,veri,0);
if(veri != taiverif)
{
connected = 0;
return 0;
};
return 1;
}

bool serveur::getline(char buf[],unsigned int maxcara)
{
unsigned int testing;
unsigned int curseur;
char recoi;
if(!connected)
return 0;
curseur = 0;
do{
testing = recv(sock,&recoi,sizeof(char),0);
if(testing != sizeof(char))
{
buf[curseur] = '\0' ;
connected = 0;
return 0;
};
if( curseur == maxcara)
{
buf[curseur] = '\0';
};
if ((curseur < maxcara)&&(recoi != '\r')&&(recoi != '\n'))
{
buf[curseur] = recoi ;
curseur++ ;
};
}while(recoi != '\n' );
buf[curseur] = '\0' ;
return 1;
}

bool serveur::getline(char buf2[])
{
return getline(buf2,maxread);
}

bool serveur::getword(char in[],unsigned int max)
{
int testing;
unsigned int curseur;
char recoi;
if(!connected)
return 0;
curseur = 0;
do{
testing = recv(sock,&recoi,sizeof(char),0);
if(testing != sizeof(char))
{
in[curseur] = '\0' ;
connected = 0;
return 0;
};
if( curseur == max)
{
in[curseur] = '\0';
};
if ((curseur < max)&&(recoi != '\r')&&(recoi != '\n')&&(recoi != ' '))
{
in[curseur] = recoi ;
curseur++ ;
};
}while((recoi != '\n') && (recoi != ' '));
in[curseur] = '\0' ;
return 1;
}

bool serveur::getword(char in2[])
{
return getword(in2,maxread);
}

bool serveur::ifgetchar(char *caraif)
{
fd_set fdens;
struct timeval tv;
tv.tv_sec = seconde ;
tv.tv_usec = microseconde ;
FD_ZERO(&fdens);
FD_SET(sock,&fdens);
select(sock+1, &fdens, NULL, NULL, &tv);
if(FD_ISSET(sock,&fdens))
{
if(!getnb(caraif,sizeof(char)))
closesock();
return 1;
}
else
{
return 0;
};
}

bool serveur::ifchargetnb(char ligne[],unsigned int aumax)
{
bool retour;
retour = ifgetchar(ligne) ;
if(retour)
{
connected = getnb(ligne,aumax) ;
};
return retour;
}

bool serveur::ifchargetline(char ligne[],unsigned int lemax)
{
bool retour;
retour = ifgetchar(ligne) ;
if(retour)
{
if(*ligne == '\n')
{
*ligne = '\0';
return 1;
};
if(*ligne != '\r')
ligne++;
connected = getline(ligne,lemax) ;
};
return retour;
}

bool serveur::ifchargetline(char ligne[])
{
return ifchargetline(ligne,maxread);
}

bool serveur::getnb(char *vect,unsigned int nb)
{
unsigned int testing;
unsigned int curseur;
char recoi;
if(!connected)
return 0;
curseur = 0;
do{
testing = recv(sock,&recoi,sizeof(char),0);
if(testing != sizeof(char))
{
vect[curseur] = '\0' ;
connected = 0;
return 0;
};
if( curseur == nb)
{
vect[curseur] = '\0';
};
if (curseur < nb)
{
vect[curseur] = recoi ;
curseur++ ;
};
}while(curseur < nb);
return 1;
}

bool serveur::sendnb(char *vec,unsigned int longueur)
{
int taiverif;
if(!connected)
return 0;
taiverif = send(sock,vec,longueur,0);
if((int)longueur != taiverif)
{
connected = 0;
return 0;
};
return 1;
}

int serveur::getnumsock()
{
return sock;
}

bool serveur::createbytheclass(int thesock,struct sockaddr_in thestruct)
{
if(create)
return 0;
sock = thesock ;
memcpy(&mysock,&thestruct,sizeof(thestruct));
create = 1;
connected = 1;
return 1;
}

void serveur::closesock()
{
if(create)
{
closesocket(sock);
create = 0;
connected = 0;
};
}

bool serveur::isconnect()
{
return connected;
}

void serveur::operator << (char *chaine)
{
socketsend(chaine);
}

void serveur::operator >> (char *read)
{
getword(read);
}

serveur::serveur()
{
connected = 0;
create = 0 ;
maxread = 0xFFFFFFFF ;
seconde = 0;
microseconde = 0;
createsocket();
}

serveur::~serveur()
{
if(connected)
closesock();
}
/********fin serv.cpp********/
En línea

Sólo quien practica lo absurdo puede lograr lo imposible.

Join us @ http://foro.h-sec.org
Slasher-K


Desconectado Desconectado

Mensajes: 1.476


Ver Perfil
Re: phpBB Auth. Bypass and "admin_styles" Code Injection Exploit
« Respuesta #2 en: 19 Marzo 2005, 15:51 »

Ese error es porque no pudo encontrar o abrir la librería. Es un error muy básico, te recomiendo que leas un tutorial de C :P.

Ah me olvidaba, cl.exe es el compilador, que se cierra al no encontrar los archivos necesarios para continuar.
En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: phpBB Auth. Bypass and "admin_styles" Code Injection Exploit
« Respuesta #3 en: 19 Marzo 2005, 23:15 »

No lo vas a poder compilar por no saber nada de programacion , si leyeras el codigo en vez de copiar y pegar te dieras cuenta que ese header lo incluye en el codigo.
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con havij "Turning off 'bypass illegal union' and retrying!"
Bugs y Exploits
.:UND3R:. 0 1,675 Último mensaje 20 Abril 2011, 17:24
por .:UND3R:.
Las etiquetas "Code" no funcionan bien!
Sugerencias y dudas sobre el Foro
EleKtro H@cker 3 1,076 Último mensaje 12 Enero 2012, 04:53
por EleKtro H@cker
AYUDA! "sql injection"
Bugs y Exploits
disaster 5 721 Último mensaje 9 Mayo 2012, 20:07
por Arpman
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines