2

基本的に、Motorstorm Leaderboards を見ながら、PS3 でパケットを有線接続していました。リーダーボードは XML 形式で ps3 に送信されますが、承認された後でのみ送信されます。では、これら 3 つのパケットの間で何が起こっているのか、またブラウザでそれを複製する方法を教えてください。

パケット 1 PS3 から Sony サーバーへ

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 PS3 に対する Sony サーバーの応答

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 Sony サーバーの最後のパケットに対する PS3 の応答

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と改ざんヘッダー、およびPHP cURLで複製しようとしましたが、どこにも行きません。変化し続けるnonce、cnonce、およびresponce変数に関係していると思います><助けてください=)

4

2 に答える 2

6

Nonce、cnonce などはHTTP Digest Authenticationに関連しています。これは、パスワードをプレーン テキストで送信せずに認証を可能にする認証メカニズムです。したがって、PS3 ゲームでチートしたい場合は、まず MD5 ハッシュからそのパスワードをハックする必要があると思います。

そして、それは HTTPパケットとは呼ばれません。レイヤー 7 では、通常、リクエスト/レスポンスなどと言うでしょう。

于 2010-02-26T19:31:47.023 に答える
3

noncenoncecnonceはハッシュ コードのように見えます。

不正行為者に対する防御メカニズムの 1 つとして考えられるのは、次のようなものです。

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()

したがって、ゲームの奥深くにを見つけるために何週間も費やしたくない場合は、忘れてください.

于 2010-02-26T19:32:15.743 に答える