سؤال

في الأساس ، كنت أتساقط الحزم على PS3 الخاص بي أثناء مشاهدة ألواح المتصدرين في Motorstorm. يتم إرسال ألواح المتصدرين إلى PS3 الخاص بي بتنسيق XML ولكن فقط بعد أن أُسمح لي. فهل يمكن لأحد أن يخبرني ما يحدث بين هذه الحزم الثلاث وكيف يمكنني تكرارها في متصفح؟

الحزمة 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>

رزمة خادم Sony Packet 2 إلى 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>

Packet 3 PS3 استجابة لخوادم Sony 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 والعبث وكذلك في PHP Curl لكن أنا لا أحصل على أي مكان. أفترض أن الأمر يتعلق بمتغيرات NonCe و Cnonce و Responce التي تستمر في التغيير> <الرجاء المساعدة =)

هل كانت مفيدة؟

المحلول

nonce ، cnonce وما إلى ذلك مرتبطة بـ HTTP Digest المصادقة, ، وهي آلية مصادقة تتيح المصادقة دون إرسال كلمة مرور في نص عادي. لذا ، إذا كنت ترغب في الغش في لعبة PS3 الخاصة بك ، فسيتعين عليك أولاً اختراق كلمة المرور هذه من تجزئة MD5 ، على ما أعتقد.

ولا يسمى http الحزم, ، على الطبقة 7 ، عادة ما تقول طلب/استجابة أو ما شابه.

نصائح أخرى

nonce an 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