المرحلة: Realistic::1 (Uncle Arnold’s Local Band Review)

الصعوبة: سهلة

رابط التحدي: https://www.hackthissite.org/playlevel/1/

المهمة: صديقك سيخسر مئات من الأموال بالغش، حاول أن تساعده لكي لا يحدث هذا.

الرسالة: أهلا، أحتاج إلى مساعدتك! هل تذكر ذلك الموقع الذي تحدثنا عنه منذ فترة؟  Uncle Arnold’s Band Review Pa ؟ تراهنت أنا وصديقي أن فرقتي الموسيقية ستكون الأولى في نهاية هذا العام. المشكلة كما تعلم أن اثنان من أعضاء الفرقة ماتوا في حادث سيارة. ولكن الأحمق الذي تراهنت معه لا يزال مصرًا على إمضاء الرهان!
أعلم أنك جيد في الحاسب الآلي، فهل لك أن تساعدني؟ هل من الممكن أن تفعل أي شئ لتكون فرقتي على قمة الموقع؟ اسم فرقتي هي Raging Inferno وهي الأخيرة الآن.
أشكرك.

 

اذهب الآن وحاول أن تحل المشكلة. لا تتعدى هذه النقطة إذا كنت تريد حل التحدي بنفسك..

 


 

التلميح الأول:

فكر، مالذي قد يُؤثر على الترتيب! إما عدد المصوتين أو قيمة التصويت..

 

التلميح الثاني:

لن تستطيع التصويت لعدة مرات، لإن الموقع يقوم بإرسال PHPSESSID مع كل تصويت تقوم به! إذا لماذا لا تقوم بتغيير قيمة التصويت ليكون عددا كبيرا بدلا من الـ 5 مثلا!

 

الحل:

لنبدأ أولا بالتفكير بشكل منطقي، شيئان قد يؤثران على تصويت كهذا، إما عدد المصوتين أو قيمة التصويت. بالضغط بالزر الأيمن على أيقونة التصويت للفرقة الخاصة بصديقك، ومن ثم الضغط على “Inspect Element” سيظهر لك هذا :

ScreenClip

كما تلاحظ، يتم إرسال PHPSESSID مع كل محاولة تصويت، وهذا يمنعك من التصويت لعدة مرات لإنها ستُحتسب كمرة واحدة فقط. إذن لنحاول تغيير قيمة التصويت بدلا من 5، لتكن 1000000000000 مثلا ونجرب. غير القيمة لتكون كما في الصورة.

ScreenClip

ثم أضغط على “vote”. لقد تم حل التحدي.

*لا تنسى تغيير العدد الذي تختار من 1 إلى 5 (وهو الذي أجريت عليه التعديل) قبل الضغط أيقونة التصويت.

 

ملحق:

ما هو الـ PHPSESSID؟

هي مجموعة من الحروف والأرقام وتكون فريدة (غير قابلة للتكرار مع أكثر من مستخدم) يستخدمها الـ PHP للمحافظة على الـ session وتُحفظ عادةً في الـ Cookies. وقد تُستخدم كما في هذا المثال لضمان عدم احتساب الصوت أكثر من مرة.