elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Como puedo hacer File Upload con CGI en C++??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como puedo hacer File Upload con CGI en C++??  (Leído 2,670 veces)
harry_the_blogger

Desconectado Desconectado

Mensajes: 105


Visita mi blog es enriquemesa.blogspot.com


Ver Perfil WWW
¿Como puedo hacer File Upload con CGI en C++??
« en: 8 Marzo 2014, 19:04 pm »

Hola, ¿Como están? Tengo que hacer mi propio CGI hecho en C++ para recibir un archivo y subirlo al servidor. Ya tengo parte del código hecho y ya he investigado, pero resulta que al escribir lo que recibe por la entrada tambien se mezcla con algo que pareciera una cabecera HTTP. No se como recibir unicamente al archivo, sin cabeceras ni otras cosas. Gracias de antemano.

Ahora publicó parte de mi código que falla:

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <iostream>
  5. #include <fstream>
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.  
  12.    ///Esto me funciona. Por lo menos puedo contar cuantos bytes mide el archivo aproximadamente.
  13.    int content_length = atol(getenv("CONTENT_LENGTH"));
  14.    char *content = new char[content_length];
  15.  
  16.    ///Abro un stream para escribir el archivo a subir.
  17.    ofstream archivo;
  18.    archivo.open("D:\\Archivos de Programa\\Apache Software Foundation\\Apache2.2\\uploads\\archivo_subido.txt");
  19.  
  20.    cout << "Content-type:text/html\r\n\r\n";
  21.    cout << "<html><head><title>Page</title></head>";
  22.    cout << "<body><h1>Content lenght: ";
  23.    cout << content_length << "</h1>";
  24.  
  25.    ///He oido que los archivos enviados por HTML se recibe por la entrada estandar
  26.    ///Asi que lo recibo lo copio a un buffer
  27.    cin.read(content, content_length);
  28.  
  29.    cout << "<h1>Content</h1>";
  30.    cout << "<b>" << content << "</b>";
  31.  
  32.    ///El contenido del archivo lo grabó en disco.
  33.    archivo << content;
  34.  
  35.    /*cout << content;*/
  36.  
  37.    cout << "<br><br>" << content;
  38.    cout << "</h1>";
  39.    cout << "</body></html>";
  40.  
  41.    archivo.close();
  42.  
  43.    delete [] content;
  44.  
  45.    return 0;
  46. }
  47.  

¿Será que alguien sabe como puedo el archivo sin cabeceras HTTP, en binario puro y duro? Gracias de antemano.


En línea

Vista mi blog es enriquemesa.blogspot.com
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Como puedo hacer File Upload con CGI en C++??
« Respuesta #1 en: 8 Marzo 2014, 20:20 pm »

un  archivo html sin cabeceras, dudo que se pueda llamar html XD posiblemente el servidor lo rechaza... no estarás más bien tratando de subirlo al servidor por FTP?


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
harry_the_blogger

Desconectado Desconectado

Mensajes: 105


Visita mi blog es enriquemesa.blogspot.com


Ver Perfil WWW
Re: ¿Como puedo hacer File Upload con CGI en C++??
« Respuesta #2 en: 8 Marzo 2014, 22:45 pm »

No. Lo estoy subiendo usando html. Por si acaso te muestro el codigo que uso en la pagina html:

Código
  1. <title>Upload</title>
  2. </head>
  3.  
  4.  
  5. <form target="_blank" enctype="multipart/form-data" method="post" action="/cgi-bin/upload.cgi">
  6.    <input name="file" type="file" /> <input name="submit" type="submit" />
  7. </form>
  8.  
  9.  
  10. </body>
  11. </html>

Uso ese codigo como formulario, y luego llama a un CGI llamado upload, que es el que mostré en mi mensaje anterior. Gracias de antemano, por si logras conseguir una forma de que mi codigo trabaje bien.
En línea

Vista mi blog es enriquemesa.blogspot.com
#!drvy


Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: ¿Como puedo hacer File Upload con CGI en C++??
« Respuesta #3 en: 17 Marzo 2014, 21:16 pm »

Hola, te lo muevo a Programación C/C++  para ver si te pueden ayudar.


Saludos
« Última modificación: 17 Marzo 2014, 21:18 pm por #!drvy » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como puedo hacer...?
Software
gl0ber 3 2,347 Último mensaje 21 Abril 2003, 12:51 pm
por AmEnAzA nEgRa MeXiCaN GaNgStA
phpizabi file upload vulnerability, ayuda!!
Nivel Web
kepa27 1 2,890 Último mensaje 12 Marzo 2008, 18:20 pm
por berz3k
como puedo ahcer para que mi VB tenga resource File?
Programación Visual Basic
Sai-To 7 2,531 Último mensaje 4 Mayo 2008, 23:33 pm
por SKL (orignal)
duda como hacer tipo Quick Batch File Compiler
Programación Visual Basic
ricardovinzo 3 1,886 Último mensaje 8 Junio 2008, 20:16 pm
por ricardovinzo
Opencart 1.4.9.1 Remote File Upload Vulnerability
Nivel Web
juh 4 5,900 Último mensaje 24 Septiembre 2010, 17:30 pm
por Darioxhcx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines