Вопрос

По сути, я проводил пакеты с Wiresharking на своем PS3, когда просматривал списки лидеров моторизма. Таблицы лидеров отправляются в мой PS3 в формате XML, но только после того, как я был разрешен. Так может ли кто -нибудь сказать мне, что происходит между этими тремя пакетами и как я мог воспроизвести его в браузере?

Пакет 1 от моего PS3 до Sony Servers

POST /ranking_view/func/get_player_rank HTTP/1.1
Host: ranking-view-a01.u0.np.community.playstation.net
Connection: Keep-Alive
Content-Length: 213
Authorization: Digest username="c7y-ranking01", realm="c7y-ranking", nonce="2SpsV4WABAA=47a2b36030cd94de1190f6b9f05db1bd5584bc2a", uri="/ranking_view/func/get_player_rank", qop="auth", nc="00000001", cnonce="d4eb1eb60ab4efaea1476869d83a6e0b", response="96b55c6e79f84dd41b46eb66bed1c167"
Accept-Encoding: identity
User-Agent: PS3Community-agent/1.0.0 libhttp/1.0.0

<?xml version="1.0" encoding="utf-8"?><ranking platform="ps3" sv="3.15"><titleid>NPWR00012_00</titleid><board>7</board><jid>Panzerborn@a5.gb.np.playstation.net</jid><option message="false" info="false"/></ranking>

Пакет 2 Sony Server Ответ на мой PS3

Date: Fri, 26 Feb 2010 19:06:12 GMT
WWW-Authenticate: Digest realm="c7y-ranking", nonce="a3PFl4WABAA=6d375259676ec79641448a8032a795b8e12ccae4", algorithm=MD5, stale=true, qop="auth"
Content-Length: 401
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Authorization Required</title>
</head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>

Пакет 3 PS3 Ответ на Sony Servers Last Packet

POST /ranking_view/func/get_player_rank HTTP/1.1
Host: ranking-view-a01.u0.np.community.playstation.net
Connection: Keep-Alive
Authorization: Digest username="c7y-ranking01", realm="c7y-ranking", nonce="a3PFl4WABAA=6d375259676ec79641448a8032a795b8e12ccae4", uri="/ranking_view/func/get_player_rank", qop="auth", nc="00000001", cnonce="58869490a891002d8c56573496274a3a", response="ca3d6f252d4e398b8f751c201a3f8f08"
Accept-Encoding: identity
User-Agent: PS3Community-agent/1.0.0 libhttp/1.0.0

<?xml version="1.0" encoding="utf-8"?><ranking platform="ps3" sv="3.15"><titleid>NPWR00012_00</titleid><board>7</board><jid>Panzerborn@a5.gb.np.playstation.net</jid><option message="false" info="false"/></ranking>

Я попытался повторить это в заголовках Firefox и Farper, а также в Curl PHP, но я никуда не получаю. Я предполагаю, что это связано с переменными nonce, cnonce и responce, которые продолжают меняться> <Пожалуйста, помогите =)

Это было полезно?

Решение

Nonce, cnonce и так далее связаны с HTTP Digest Authentication, который является механизмом аутентификации, который обеспечивает аутентификацию без отправки пароля в простом тексту. Поэтому, если вы хотите обмануть в своей игре PS3, вам сначала придется взломать этот пароль из хэша MD5.

И это не называется http пакеты, на уровне 7 вы обычно говорили запрос/ответ или аналогичный.

Другие советы

Нонс nonce а также cnonce Похоже на хэш -коды.

Одним из возможных защитных механизма от мошенников может быть следующее:

def ps3client_send_score():
    score = "bazillion points"
    nonce = md5(score + "something you don't know about")
    send_to_server(score, nonce)

На стороне сервера:

def get_client_score(score, nonce):
    if md5(score+"something you don't know about")==nonce:
        accept_score(score)
    else:
        reject_score_and_ban_the_fool_if_he_continues_this()

Поэтому, если вы не хотите провести недели, пытаясь найти соль Глубоко в вашей игре, забудьте об этом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top