Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Kaxperday en 3 Diciembre 2015, 20:28 pm



Título: Ayuda con HTTP POST en C#
Publicado por: Kaxperday en 3 Diciembre 2015, 20:28 pm
Hola, estoy muy frustrado porque al cargar una página (que prefiero no decir en el tema) con el navegador sin cookies ni navegación en ella, al cargar su index y ver su código fuente me salen distintas cosas de las que obtengo con esto:

Código
  1. HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://***.com/");
  2.                req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
  3.                req.CookieContainer = cc;
  4.                req.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0";
  5.                req.Host = "***.com";
  6.                req.Method = "POST";
  7.                req.Proxy = null;
  8.                HttpWebResponse response = (HttpWebResponse)req.GetResponse();
  9.                using (Stream responseStream = response.GetResponseStream())
  10.                {
  11.                    using (StreamReader sr = new StreamReader(responseStream))
  12.                    {
  13.                        string sub = "name=\"_token\" value=\"";
  14.                        string responseData = sr.ReadToEnd();
  15.                        byte[] bytes = new byte[responseData.Length * sizeof(char)];
  16.                        System.Buffer.BlockCopy(responseData.ToCharArray(), 0, bytes, 0, bytes.Length);
  17.                        File.WriteAllBytes("C:\\Users\\Usuario\\Desktop\\tast.txt", bytes);
  18.                        int indice = responseData.IndexOf(sub);
  19.                        if (indice == -1)
  20.                        {
  21.                            return false;
  22.                        }
  23.                        indice += sub.Length;
  24.                        while(responseData[indice] != '"')
  25.                        {
  26.                            token += responseData[indice];
  27.                            indice++;
  28.                        }
  29.                        MessageBox.Show(token);
  30.                    }
  31.                }
  32.            }
  33.  

Guardo la respuesta en un archivo en el escritorio, y trato de buscar un token necesario para iniciar la sesión en la web, ese token no aparece al hacer este post, ¿puede tener algo que ver con algún javascript que ignoraría?.

Básicamente con navegador me aparece esto al cargar el index:

Código:
name="_token" value="

Y cuando hago el https post no me sale, recibo distinta respuesta, ¿porque?. Dejando de lado el idioma etc, no creo que tenga que ver.

Dice que no la encuentra esa substring, y es que es verdad no está en el html que descarga la app en C#, pero al cargar la pag con el navegador si sale, ¿porque?.

Saludos.

Edito: Más pistas, en la página al clicar un boton salta un pop up donde metes los datos de login:

Código:
https://***.com/#show=login

Según he leido este operador (#) se usa para incluir código de otras urls más o menos, estaría bien una aclaración, seguiré leyendo.