Bueno la idea surge un poco a lo loco, soñando con hacking un poco de ganarme la vida otro poco como desafio entre otras mas...
Desde hace tiempo me revoleteava por la cabeza la idea de hacer un programa con el cual pudiera "por decir de alguna forma controlar el trafico HTTP, ojo es una forma de decir, usd le pueden poner nombre cientifico despues si quieren" enviar datos usando el protocolo HTTP como si fuese una "conexion directa", veran, todos sabemos que este protocolo es "sin estado" o sea que tu pides por ejemplo www.yahoo.es se te da la pagina y muere esa conexión, hasta ahi todo bien.
Bien pero si se ponen a pensar muchas empresas de hoy en dia incluyendo la mia tienen configurado sus proxys para no permitir conexiones directas mas bien para que puedan nada mas abrir WEB puerto 80 a full, asi no se desvinculan del trabajo tampoco puedan aprovecharse de la muy buena banda ancha, bla bla bla... asi que me dije bueno pq no utilizar el protocolo que gobierna mundialmente y del que nadie se espera casi nada para poder aprovecharlo empleandolos en troyanos. eso ultimo da aliento al hacking y no es mi meta asi que tachenlo...
Cual es la idea para mantener una conexion HTTP "con estado" usando los metodos GET y POST para ello? Facilito...usando a nuestros ingeniosos cezudos cerebros del foro, perdon a nuestro ingenioso, cezudo cerebro..
Sabemos que el metodo POST te permite enviar informacion hacia los servidores Web, como por ejemplo cuando llenas un formulario para hacerte un correo, registrarte en este maravilloso Foro, cuando adjuntas las fotos que te sacastes para tu DNI para enviarselas a mama, etc.. y el GET es cuando solicitas una web... por poner un ejemplo rapido..
Recomiendo que veais el tema de Hades asi me ahorran escribir...este es el link
http://foro.elhacker.net/programacion_vb/winsock_protocolos_mas_usados_version_1_http-t186798.0.html
tengo otro link con un ejemplo muy bueno vere como hago para hacerselos llegar pues aqui parecen que ya borraron el tema..si se sigue el hilo del tema claro esta lo pongo..
Pues la idea es "simular" con el POST como que envias un archivo "X" y con el GET pues como si estuvieras leyendo una pagina o descargando un archivo, "aqui se torna un poco engorroso entenderlo, vere si me sale bien la explicación".
Como bien vieron en la explicacion de Hades pudieron apreciar un ejemplo parecido a este..del metodo POST es el que me interesa por ahora..
POST http://HTTP://www.tupagina.com/script.php HTTP/1.1
Host: www.tupagina.com
Content-Type: multipart/form-data, boundary=34COFsReezG0JfuyhtcpgzrMLg2c4NV9
Content-Length: 45242
--34COFsReezG0JfuyhtcpgzrMLg2c4NV9
Content-Disposition: form-data; name="archivo"; filename="JuanK.exe"
Content-Type: application/octet-stream
Contenido del archivo....
--34COFsReezG0JfuyhtcpgzrMLg2c4NV9--
Mirando este ejemplo vemos que el contenido del archivo pesa cerca de 45 Kb, lo que necesitamos es simular que enviamos un archivo mas grande asi hacemos como una especie de buffer "recuerden que no vamos a enviar ningun archivo esto es para engañar al proxy y utilizar esa conexion que es directa para enviar los datos que nos de la gana" para almacenar todo lo que vamos a solicitar, por ejemplo, una pagina web restringida, conectarme a mi casa via ssh, en fin usd me entienden, todo esos deseos dependeran del tamaño que le pongamos al archivo "buffer" ya que si por ejemplo le dijimos que ibamos a enviar 2 MB y mientras estamos navegando chateando y vacialando la buena vida hacemos un consumo de 5 MB eso da ERROR y se cae la conexion no hay que ser genio para darse cuenta de eso..."al menos eso creo"...espero que me hallan entendido mas o menos...ah y una cosita que no se si decirlo aqui pero bueno, esta conexion como bien dijimos hay que mantenerla directa, esto es lo que les quiero decir, supongamos que pedimos una pagina web "X" esa solicitud se guarda en el buffer y es transferida como si fuera el archivo "X" que estamos enviando hasta aqui bien, recivimos la pagina y nos ponemos a leerla, OJO que dejamos de enviar solicitudes y si no hacemos algo se cae la conexion porque el proxy se imagina que tuvistes algun problema enviando el archivo y tumba la conexion eso no lo queremos, pues tenemos que crear una funcion que nos detecte cuando el buffer esta vacio, cuando se cumpla eso, que se envie un RELLENO por ejemplo "sigo aqui no tumbes la conexion" y asi no se caera nunca... por lo menos no a causa de un error nuestro.. joder como he escrito. espero que me hallan entendido...si no cuando empieze el pregunteo, ojala y lo hagan asi se que al menos alguien se leyo esto..
Bueno llegado a aqui lo que hace falta es modificar la cabecera Content-Length que como ven y saben ella recoje el tamaño completo del archivo que se envia y se lo pasa al proxy y este al servidor, yo trate poniendole una cifra elevada como 15 MB y como el contenido es aleatorio, coji y invite a un Timer a que se una a esta conquista con el objetivo de que administrara el famoso RELLENO y mis solicitudes, esto lo trate de hacer pero me sucede que cuando modifico la dicha cabecera y comienzo a enviar datos el proxy no me entrega el contenido del archivo "mis solicitudes", me lo corta aqui...
POST http://HTTP://www.tupagina.com/script.php HTTP/1.1
Host: www.tupagina.com
Content-Type: multipart/form-data, boundary=34COFsReezG0JfuyhtcpgzrMLg2c4NV9
Content-Length: 45242
--34COFsReezG0JfuyhtcpgzrMLg2c4NV9
Content-Disposition: form-data; name="archivo"; filename="JuanK.exe"
Content-Type: application/octet-stream
Bueno ya no voy a decir mas nada, basta decir que si alguien sabe porque me sucede esto, OJO que no hay que leerse todo eso para ayudarme con mi problema, lo que quisiera es debatir y ver si juntos o ayudarme a mi con ideas, materiales, usd entienden conformar el proyecto que creo no tiene mala pinta, y tambien espero que esto abra horizontes..
PD: Disculpen si esta demasiado estenso y bueno usd nada mas queria ver mi problematica, es que no encontre otra manera de explicarla ruego perdones de nuevo..alguien interesado...