Попытка найти способ создания указанной веб-формы шестнадцатеричного символа c 32 из локальной веб-страницы пользовательского интерфейса Netgear Managed Switch - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь смоделировать навигацию по локальной веб-странице Netgear Managed Switch (GC108PP) в C#. Когда я отправлял запрос HttpWebRequest с помощью браузера Chrome, я научился использовать Fiddler - при нажатии на этот URL-адрес создаются 3 веб-формы:

http://192.168.50.101

заканчивается:

http://192.168.50.101/cgi/get.cgi?cmd=home_login&dummy=1582137153063&bj4=3f104a21e12a9584d36372142f16e35b

Веб-формы:

  1. cmd = home_login

  2. dummy = 1582137153063 (время, прошедшее с эпохи, это было легко выяснить)

  3. bj4 = 3f104a21e12a9584d36372142f16e35b (пытаясь выяснить, как создать это)

Нет HTTP API для ссылки из Netgear. Я попытался просто сгенерировать 32-символьную строку с:

private static Random random = new Random();
public static string randomString(int length)
{
    const string chars = "abcdef0123456789";
    return new string(Enumerable.Repeat(chars, length).Select(s =>s[random.Next(s.Length)]).ToArray());
}

Однако я получил ERROR 400 Bad Request. Если я использую bj4 ключ / ID, который генерируется моим браузером статически в моем коде это работает, но я хочу правильно генерировать эту веб-форму.

Любые идеи о том, как эта веб-форма может быть сгенерирована?

1 Ответ

0 голосов
/ 20 февраля 2020

Нашел его в JS ...

function gotoLogin()
{
  document.cookie = \"testcookie\";
  cookieEnabled = (document.cookie.indexOf(\"testcookie\") != -1) ? true : false;
  if (cookieEnabled == false)
  {
    alert(\"Browser does not accept cookies. Please configure your browser to accept cookies in order to access the Web Interface.\");
  }

  var fileVer = (new Date().getTime());
  var url = \"login.html?aj4=\"+fileVer;
  url = url + '&bj4=' + md5(url.split('?')[1]); //here!!!
  window.location.href=url;
}
...