17

Когда я вставляю этот URL (ниже) в мой веб-браузер ... Chrome или IE
https://login.oracle.com/mysso/signon.jsp
Я получаю сообщение об ошибке ...

Error! Do not use bookmarked URL.
Please type the URL you are trying to reach directly into your browser.


Однако, если я вставлю этот URL в мой браузер (ниже)
http://www.oracle.com/us/corporate/contact/about-your-account-070507.html
затем нажмите ссылку « Sign In/Register мой браузер перейдет по тому же URL-адресу (вверху), но без ошибки.

Мой вопрос .. Как я могу перейти непосредственно по этому URL (https://login.oracle.com/mysso/signon.jsp), не переходя сначала к какому-либо «другому» URL на сайте?

4 ответа4

21

Сначала я предположил, что страница, к которой вы пытаетесь получить доступ, требует, чтобы токен был на месте, прежде чем он загрузится правильно. Оказалось, что вы можете быстро зарегистрировать этот токен на сервере и перейти на страницу, перейдя по этой ссылке:

https://login.oracle.com/pls/orasso/orasso.wwsso_app_admin.ls_login?Site2pstoreToken=v1.2~656BF073~

Хотя этот жетон мог быть полезен для других вещей. С тех пор я обнаружил, что это на самом деле не нужно. Просматривая заголовки, по которым эта ссылка была опубликована, я смог определить, смогу ли я продублировать результаты (большей части) того, что произошло, когда вы перешли по этой ссылке, просто создав эту HTML-форму, чтобы сделать сообщение для меня. :

<html>
<head>
<title>Oracle SSO</title>
</head>
<form method=post action="https://login.oracle.com/mysso/signon.jsp">
<input name=site2pstoretoken value="v1.2~656BF073~512EDAC9FEA5F9140AE8A612213BCA280B4FF70D159812B6FDF2EB8D5CA98482EB385D4542873325FB366CCD4F17E21E1329A9531F844D92AC97A70A8287652D76277798A2DDF3D738EAB735E756B24FFDF89DC77C46F81AE712DB7D4F3A0CAF8EB1AE708C04FC58FEAC6D44A4DCCA81BD967FA1AD32ED298B5563DABC10443620E45DC539A7F6E5A5AB22A2F7541EF9B3339AFE4EBBC920989B7E7556B3B6DBF84FA7643382B2907A6183D06FDD9E1358A534083E4B73A5FB6BA840A981AE3A41BF878240DA4C48C74765E10DF30AC91057225CDC77C9241409FE189D251B2EAFF14E9776ADDC3C81541F53CFFC745A1A93DFAAD06B496B5630E1A725266B84DA43FEB216463D4C89A6164441B7CEFC600CC991B549A52BC45550156A365C699CF8A89250427BA9" />
<input name=v value="v1.4" />
<input name=p_submit_url value="https://login.oracle.com:443/sso/auth" />
<input name=p_cancel_url value="http://www.oracle.com" />
<input name=p_error_code value="" />
<input name=ssousername value="" />
<input name=subscribername value="" />
<input name=authn_try_count value=0 />
<input name=contextType value=external />
<input name=username value=string />
<input name=contextValue value="/oam" />
<input name=password value=sercure_string />
<input name=challenge_url value="https://login.oracle.com/mysso/signon.jsp" />
<input name=request_id value=-4782010454026398257 />
<input name=OAM_REQ value="VERSION_4~VeXlMi8vRU%2fhyhTAezfX%2fU92tvWZdduOvqF%2b%2fZcYUDnWrzu4V%2fcd4uyZvxIJbR7IxaYlaMA0wEkYKHSaDT5s7MPlYk3PRIlWNYxRTtYnK0kS2JQZrKDOL4CStRvsWAbuaMQJepMzUvRrxCEamyAH0sRT5caX3lCeI1iS7znsSTNIOXOl%2fgzOIoCD4JTPfO6WAbGiW3HdRBx5Y%2bDUrjsA%2fTPURYUU%2bXZ2XpPD%2fzWu11oXQV9C9lR36H8x97UkYcjyjtT%2b9vdHp8a0QwbAxG26N4eDokGnz5MRKaILo%2bsm2itImqCAlaTDWPBhTisfT89Av8Vv6FYAG%2bUDwj1BtTpshXinS0YHDwGAGYK7GB1VIeXraYIhR7V7C92H7dMGl8j%2fNof7JiN%2fjPEIRLjnX%2fgWNqNRzRaJe%2be7LVUrbOfGkvr2l%2fuAtYhY%2b9Q%2b2QvyHp%2bESS4Mnt4We6TdZ7Ap4zQbV3ZWh2f8vbBJYSw25R77Q2JatsjQQCJnAbKtwKwmauNHZgdo8yeeq7KZoltgciAZq9cm34CgQ3IburhracegH%2bFc9jV%2fnfu8BknpoIAjgDOdxtguYtoQpKitkwCGsQLPm9oaxE0n8wbJLWta2Vj7RLh5HmF7Za%2btda6t%2fW9MweMWiq66MvGZtDIa8pNycALi4SHtfp1SiVlhABeuVftbaoM%2fDStyjbPEUXEJBxLVYOiMODjov0GtsD5ZTzP9NH39ata8fZvHjyXUxTgZmhJQsZPH4r5ks2cz2tV%2bpw5Gb4U2Wvl81iXlVcSfiwGSp55qs9xSbJkQkBl9eagNO20RsKBI9W9KNTo3Boku5SMVOTt%2bsPPXwiiJlkblq2Jn7GLhDX8oFH36XsSlo%2bIPqWfCgaesTXyYnnsfK%2b2u8uByuRvDy6XCuj6O0ytLp8sKhFNAGZq1JVhIrh5%2bgxiLkZ%2bL2SVVV1HsP2TweR9WkFvytSgdx06NPrNvDJKFGvlV%2f8428uz5cCAUF5cr%2bX%2fiQ42EwsF3iZF1nQcHqcF44v7CBYYGuAW%2fDr9ojnrjj%2bT6dstOScY1vjLXIpgQs83wsbc1KfA26907E42yEgV5sPexC452gIPvcq4rLRr8Hm4hhWXnMxF1kX2zZnruo7yldr2VIT%2bUy11ZT4mcW7AgSipQaTkmbOgtv3nuvipoiGq9AeEzz%2fyUQurw2BSXcsP4HgMPO2cA5G93%2bBsT90gNEiQySyDwbJShjEVrCfry6a00zDzKXaddOAzinHOe7zHXJSbSoeqOw1XzS3bv8G7gcS3XNGa3yOUP%2fhHcNdpxqa%2bwbsEag9xKvCJRxr5Zr8GZK2GWu5XU8Kx9j6XiIQtsU1%2bl8p1AaP%2bCuKFgXz6gK2YePb6DPYmhyasplXtq569ytFdaD5NOgUN2CeRqjdxoKTOlyZWfr6bNZf1hI0sYUT8FlP0O%2fQ%2bi65j2zRBKPiosOsGNwnzbDOLcF1bZfJCmOL5u6cx8QJXe2VFQewIcC%2fvt8CMFDKwz82N%2bxtYkhMs%2fj2GmACcHeuTPBNnRjAO059S6mE3FMf0hFfLarLbGW6uLCiV%2bWKPq7f6FqIAYy73e%2fW5yd6RtajzaLaA14fd2AIx62WqTCLTbQTMwDBG2Y966dZvyQwzEmfNVWp317NB%2byvdM0HE0bPKlPHs5IVPGBSBPgSPc4ICqTMprlj%2fapVfQT5cDa2m%2fqyo6Z2Rhj19uyJwzSoX4Ib%2bMP3q90E6SqligrDKxFtCDIa2Kc3As9F8sDhU7%2bgvYXX%2bABP1GAGFtlDhq%2fA4vq%2bkD4%2bIFtq2hg1svtuPA7YwajG5z1ZZF1EsZqbKCZKCe8nJKe2GZDf3miXR1%2fAZgTnjmaks7vTHwkB9k48YNomqgSBsqPSOYRNVOIYrKPsKeRMf6xvKCpEl6Whst5E1BsT1zWl6WZPhcn%2f0ABsl%2b5AUtZ%2bvKqI%2fyymq1zOidcpn6Ao%2bO55wSAj%2botPbUr1UyrQbMFlV7jWJPYOs%2bicDSRf1DZlC1w5rsIUz7HRAjVcc4yyRnTwOeGXnoUTuzoHJ5PhmxpBIbr0otlfiDMHY6cm960PvYDAtWUSgOnwA4%2bPtY4YtmBSZuvSrk3W7L%2f1%2fTaYGb0uccJx1sfB6qwD1Isk80NxnKWCCftv0W0AE3zf9xpei1SWNp%2fMJH1yfpVFM%3d" />
<input name=locale value=en_US />
<input type="submit" value="Submit">
</form>
</html>

Как видите, реферер здесь не критичен. Все, что имеет значение, это то, что форма входа в систему содержит информацию, содержащуюся в форме настройки. Я до сих пор не знаю, где взять эти токены в стороне от основного сайта, но вам нужно это выяснить самостоятельно.

Поработав с этим немного больше, я обнаружил, что единственное значение в приведенной выше форме, которое имеет значение, это request_id . Можно использовать следующую, гораздо более простую версию:

<html>
<head>
<title>Oracle SSO</title>
</head>
<form method=post action="https://login.oracle.com/mysso/signon.jsp">
<input name=request_id value=-4782010454026398257 />
<input type="submit" value="Submit">
</form>
</html>

Более того, форма будет принимать это значение как GET или POST. Это означает, что вы можете получить доступ к форме по адресу: https://login.oracle.com/mysso/signon.jsp?request_id=-4782010454026398257

Это делает вещи намного проще. Теперь вам просто нужно выяснить, нужно ли вам сохранять свежий request_id или же он будет длиться вечно. Это может даже не иметь значения, какой request_id вы используете. У меня нет учетной записи на этой странице (поэтому я не могу проверить это), но если я введу ЛЮБОЙ номер для request_id он отобразит форму. Попробуйте войти в систему с помощью номера, который вы только что создали:

https://login.oracle.com/mysso/signon.jsp?request_id=007

или даже без идентификатора, вот так:

https://login.oracle.com/mysso/signon.jsp?request_id=

На самом деле я не проверял это, кроме того факта, что это будет отображать форму. Прочитайте комментарии, чтобы увидеть, если кто-то еще.

6

Они делают странную чёрную магию, основанную на заголовке Referer , который содержит URL предыдущей страницы, если таковая имеется.

В основном, если реферер присутствует и настроен на другую страницу, все в порядке, иначе они выдают ошибку. Только они могут объяснить, почему они это делают.

Это может быть попыткой повысить безопасность, но для меня это выглядит как театр безопасности, поскольку создание закладки для подлинного URL-адреса кажется более безопасным, чем ввод и, возможно, ошибочный ввод домена, что позволит злоумышленнику зарегистрировать ошибочный домен (oralcle.com для пример) и выложить фишинговую страницу.

4

Это система "единого входа". Домен login.oracle.com позволяет только аутентифицироваться, но сам по себе не имеет контента. Таким образом, если вы не пришли из другого домена, который требовал от вас входа в систему, он вообще не отображал бы контент.

Поскольку в этом домене нет контента, а ваши избранные не содержат никакой информации о том, к чему вы пытались получить доступ, они просто предупреждают вас, что ваш любимый указывает на неправильный адрес.

После входа в систему и для продолжительности сеанса вы можете получить доступ к любому поддомену в oracle как аутентифицированному пользователю без необходимости повторного входа в систему.

Это, как вы обычно работают с Google: Вы должны войти в accounts.google.com но , как правило , доступ к нему с помощью других доменов www.google.com mail.google.com и т.д.)

3

Вероятно, это будет централизованный поставщик удостоверений, который может использоваться несколькими системами. Похоже, он использует единый сервер приложений Oracle. Я не знаком с этим конкретным продуктом, но такая система может выглядеть так:

  1. Пользователь заходит на целевой сайт.

  2. Целевой сайт перенаправляет пользователя на сервер входа. Перенаправление включает в себя токен, который предоставляет подробную информацию об исходном запросе. (Заголовок referer также может быть использован, но это усложнит обработку случаев, когда первоначальный запрос был POST вместо запроса GET.)

  3. Сервер входа принимает токен, распознает, что пользователь еще не вошел в систему, и предлагает ему войти в систему.

  4. Пользователь входит на сервер авторизации.

  5. Сервер входа в систему возвращает пользователя к первоначально запрошенному ресурсу, предоставляя информацию об исходном запросе и личность пользователя обратно в приложение.

  6. Приложение распознает и доверяет утверждению идентичности, предоставленному поставщиком удостоверений, поэтому оно обрабатывает исходный запрос.

Одним из преимуществ этой системы является то, что система идентификации менее связана с приложением, потребляющим службы единого входа. Поставщик удостоверений отвечает за аутентификацию пользователей, поэтому отдельным приложениям не нужно заботиться о механизме аутентификации пользователей.

Организация также может вносить большие изменения в процесс аутентификации, без необходимости перенастраивать каждое приложение для нового метода. Это может означать улучшение входа в систему на основе пароля с помощью брелка RSA, переключение на встроенную аутентификацию Windows, перемещение пользователей из устаревшей системы LDAP в Active Directory и т.д.

Если несколько приложений используют одного и того же поставщика удостоверений, вы также получаете преимущество единой регистрации. Это означает, что после входа в одно приложение процесс доступа к другому интегрированному приложению становится следующим:

  1. Пользователь заходит на целевой сайт.

  2. Целевой сайт перенаправляет пользователя на сервер входа. Перенаправление включает в себя токен, который предоставляет подробную информацию об исходном запросе. (Заголовок referer также может быть использован, но это усложнит обработку случаев, когда первоначальный запрос был POST вместо запроса GET.)

  3. Сервер входа в систему распознает пользователя из существующего сеанса. Он возвращает пользователя к первоначально запрошенному ресурсу, предоставляя информацию об исходном запросе и личность пользователя обратно в приложение.

  4. Приложение распознает и доверяет утверждению идентичности, предоставленному поставщиком удостоверений, поэтому оно обрабатывает исходный запрос.

Обратите внимание, что, поскольку пользователь уже вошел в систему поставщика удостоверений, все, что он увидит, - это несколько быстрых перенаправлений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .