Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Где обработчик формы? (https://forum.antichat.xyz/showthread.php?t=34306)

-=lebed=- 27.02.2007 13:39

Где обработчик формы?
 
Вообщем есть Auth.html в нём есть javascript (несколько функций) и форма ввода пароля
заголовок формы:
Код:

<FORM METHOD="POST" ACTION="/Forms/Auth_1" onSubmit="LoginClick(document.forms[0].hiddenPassword, document.forms[0].LoginPassword);">  <p>&nbsp;</p>
Вопрос: Обработчик формы находится на стороне клиента, как я понял (javascript), т. е. мы можем подправить код javascripta (функций) и успешно авторизоваться? Или я ошибаюсь и он всё-таки на стороне сервера? В свойствах формы написано, что отправлять результат в "Custom ISAPI, NSAPI, CGI, оr ASP Script"

DIAgen 27.02.2007 13:54

Если бы еще выложил функцию LoginClick, то можно было сказать, что можно сделать!
Мое предположение, тут просто проверяется ровняются ли друг другу вереденые пароли!

flipper 27.02.2007 14:02

Цитата:

Сообщение от -=lebed=-
Вопрос: Обработчик формы находится на стороне клиента, как я понял (javascript), т. е. мы можем подправить код javascripta (функций) и успешно авторизоваться? Или я ошибаюсь и он всё-таки на стороне сервера? В свойствах формы написано, что отправлять результат в "Custom ISAPI, NSAPI, CGI, оr ASP Script"

Ну было бы лучше если всю форму привел и еще функцию LoginClick.
Обрати внимание на
Код:

onSubmit="LoginClick(document.forms[0].hiddenPassword, document.forms[0].LoginPassword);"
Это говорит нам что данные из формы 0 (скорее всего текущая), передаются в процедуру для дальнейшей обработки, скорее всего там проверяется все ли поля заполненны, а дальше скорее всего идет: document.forms[0].submit;
Это и есть отправка формы на адрес который указан в заголовке формы в поле ACTION="/Forms/Auth_1"
Так как запрос передается методом POST то в адресной строке никаких значений вроде ?do=newreply ты не увидишь.
Собственно ответ ДА скорее всего ты ошибаешься и данные обрабатываются на стороне сервера!

-=lebed=- 27.02.2007 14:17

Вся форма:
Код:

<FORM METHOD="POST" ACTION="/Forms/Auth_1" onSubmit="LoginClick(document.forms[0].hiddenPassword, document.forms[0].LoginPassword);">  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <table width="420" border="0" cellspacing="0" cellpadding="0" align=center valign=middle height="180" bgcolor="#C4D3FD" name="Authentication">
    <tr align=center>
      <td height="40" colspan="4" class="Auth">Prestige</td></tr><tr>
      <td height="50" class="Auth">&nbsp;</td><td height="50" colspan="2" class="AuthDesc"><div align=center>
        Enter Password and click Login.</div></td><td height="50" class="Auth">&nbsp;</td></tr><tr>
      <td height="40" class="Auth" width="40">&nbsp;  </td><td height="40" class="Auth" width="84">Password:</td><td height="40" class="Auth" width="274"><INPUT TYPE="PASSWORD" NAME="LoginPassword" SIZE="30" MAXLENGTH="30" VALUE="1234"><INPUT TYPE="HIDDEN" NAME="hiddenPassword" VALUE=""></td><td height="40" class="Auth" width="10">&nbsp;</td></tr><tr>
      <td height="40" colspan="4" align=center > <INPUT TYPE="SUBMIT" NAME="Prestige_Login" VALUE="Login">&nbsp; &nbsp;<INPUT TYPE=RESET NAME="Cancel" VALUE="Cancel" ></td></tr><tr>
      <td height="10" align=center colspan="2" >&nbsp;</td></tr></table></form><SCRIPT language="JavaScript">
                <!--
                document.forms[0].LoginPassword.select();
                document.forms[0].LoginPassword.focus();
                // -->
                </SCRIPT>

</body>

Функция:
Код:

        function LoginClick(hiddenPassword, loginPassword)
        {
                var passwordStr = passwordMD5(loginPassword.value);

                hiddenPassword.value = passwordStr;
                loginPassword.value = "ZyXEL ZyWALL Series";
                return;
        }


gemaglabin 27.02.2007 14:20

POST /Forms/Auth1 HTTP/1.1 , а вообще есть сниферы

-=lebed=- 27.02.2007 16:09

Цитата:

Обнаружены формы (POST запрос), использующиеся для передачи данных на сервер. В переменных HIDDEN может храниться специфическая или чувствительная информация. Переменные PASSWORD служат для ввода пароля.

Список форм:

POST /Forms/Auth_1 HTTP/1.1
LoginPassword=&hiddenPassword=&Prestige_Login=&Can cel=
Это результ работы xSpider`a 7.5 ну и 3 шт. XSS он нашёл там, больше ничего серьёзного...

Версия WEb-сервера ;-)
Цитата:

RomPager/4.07 UPnP/1.0

flipper 27.02.2007 16:33

Цитата:

Сообщение от -=lebed=-
/Forms/Auth_1

Форма куда отправляются данные.
Цитата:

Сообщение от -=lebed=-
LoginPassword=&hiddenPassword=&Prestige_Login=&Can cel=

Имя переменной=ее значение&следующая переменная=...
В данном случае все переменные пустые

-=lebed=- 27.02.2007 16:37

Всё я уже понял, что сверка идёт на стороне сервера, а на стороне клиента пасс шифруется довольно интересным алгоритном (не простым Md5) и передаётся серверу, ввобщем надёжно защищён и если его перехватить то хрен расшифруеш...
Но ведь если всё-таки отснифать его, можно будет подделать запрос и передать серверу - получим доступ к управлению конфигуратором, я прав?

guest3297 27.02.2007 16:56

извините я вот что то вас не понимаю.
javascript - это у нас что???
единственная проверка пароля которую можно сделать с помощью ява скрипт это взять какию то шифровальные функции типо md5() (не помню как точно там будет функция) взять пароль из формы зашифровать в md5 и сравнить с тем что есть при этом сам зашифрованный md5 должен быть в коде страники... могут предприниматься какие то свои методы шифровки но они как правило не отличаються особой стойкостью.

ps топик стартер не поял что написал в 1 посту. javascript работает только на стороне юзера но не как не сервера.

guest3297 27.02.2007 16:58

pps смотри функцию passwordMD5()


Время: 16:36