درز اطلاعات دانشجو ها از طريق سايت سماد (قسمت 1)

leaked students data from database. make it dark and modern theme.
leaked students data from database. make it dark and modern theme.

احتمالا براتون اتفاق افتاده که خواستين شماره دانشجويي همکلاسي تون رو پيدا کنيد🥸، براي اينکه مثلا بدونيد تو ميان ترم چند گرفته! با کي هم گروهي شده. پايان ترم قبول شده يا نه. ورودي چنده؟ چه رشته اي داره؟ البته اين چند مورد آخر تو مخ زدن به کار مياد!😂😐 اتي مجي لاترجي دست پر با اطلاعات بري جلو احتمال موفقيت زياد ميشه!🧠

قسمت صفر: چطوري بفهمم طرف کيه؟

سوال خوبيه! اينکه بفهمي اسمش چيه، رشته اش چيه، ورودي چنده به درد ميخوره. تازه دانشکده اش رو هم راحت پيدا ميکني! دختر پسر نداره اين موضوع، خلاصه در هر دو مورد به کار مياد!👨‍💻

نشستم فکر کردم چطوري ميشه اسم طرف رو پيدا کرد. سايت هاي دانشگاه رو گشتم ببينم چيزي ميشه گير آورد يا نه. از سايت سما بگير تا سايت سماد که اين سايت ها اکثرا توي دانشگاه ها يه مدل ان و همه ازشون استفاده ميکنن. يعني اين روش رو بقيه هم جواب ميده!🥸

قسمت يک: يافتم! يه چيزي يافتم!

خب سايت سماد که براي رزرو غذا و امور دانشجويي هست به نظرم اومد به درد ميخوره. حالا چطوري؟ اينجوري!

صفحه اصلي سايت يه چيزايي داره. خودتون نگاه کنيد.🤲

صفحه اصلي سايت سماد
صفحه اصلي سايت سماد

خب يه چيزي به ذهنم اومد که الان بهتون هم ميگم. قسمت انتقال اعتبار يه مشکل ريزي داره.📿

صفحه انتقال اعتبار
صفحه انتقال اعتبار

خب نميخوايم کسي رو پولدار کنيم و اعتبار براش انتقال بديم!🥸😂 دقت کنيد به صفحه، ميشه شماره دانشجويي وارد کرد و با يه کپچاي ساده تاييد کرد و صفحه بعدي جالب تر ميشه!🔥

صفحه انتقال
صفحه انتقال

خب نام و نام خانوادگي اون شماره دانشجويي رو نشون ميده. شايد در يه نگاه ساده باشه ولي از روش ميشه حتي اوني که بدهي داره يا تسويه حساب کرده يا نکرده رو هم شناخت.🍌

صفحه انتقال
صفحه انتقال

چند باري امتحان کردم ولي کپچا تايم اوت نداره. کپچا نيست موزه موز🍌. دو مرحله نيست و خيلي منطقيه چون اصلا کسي همچين چيزي به ذهنش نميرسه که بخواد کاري که يه خرده جلوتر ميخوام بگم رو بکنه!

قسمت دوم: روش کار و قتل

خب رودمپي که تو ذهن دارم اينه🧠: بيام دونه دونه شماره دانشجويي وارد کنم. کپچا رو حل کنم. بعد اسم رو با شماره ذخيره کنم. اين قسمت مشکل امنيتي داره که از رو چيز خاصي ديده نميشه.🔥

اين روش دستي بخواي انجام بدي شما رو به دار مي آويزم! پس ميايم کد مينويسيم.

در مرحله اول نياز داريم تمامي اين کار رو خودکار کنيم. براي همين پابوس پايتون و playwright ميشيم. 😗🤍

اين کار چالش خاصي نيست و کدش رو نوشتيم. ولي اينجا از کد خبري نيست چون خب اوضاع خيطه! يه وقت بد آموزي ميشه.📿🥸از خودت بترس و به خودت بيا.

مرحله دوم که چالشي تر بود و اصل مطلب اين بود، حالا چطوري کپچا رو حل کنيم! يزيد دستي حل ميخواستيم بکنيم چه نياز به خودکار کردن اين کارا بود! خب راست ميگيد و حق داريد.😂

قسمت سوم: بازي با دم کپچا

خب رسيديم به اينکه چطور کپچا رو حل کنيم. ميخوام دست به دامان مبارک پردازش تصوير بشم. يه مدل ساده CNN ميسازيم و train ميديم تا بتونيم اعداد توي شکل هارو تشخيص بديم.🔥

در مرحله اول نياز داريم داده براي آموزش جمع کنيم. داده ما اينجا عکس هاي کپچا هست. خب چطوري اونارو جمع کنيم؟ يه چيز جالبي توي لينک کپچا هست:

تب شبکه وب سايت
تب شبکه وب سايت

به آدرس کپچا دقت کنيم ميبينيم يه لينک ساده هست و هربار ريکوئست ميزنيم، کپچاي جديدي توليد ميشه. پس ميتونيم با هر ريکوئست عکس کپچا رو بگيريم:👨‍💻

http://samad.tabrizu.ac.ir/captcha.jpg

اعداد کپچا از 000 شروع ميشه تا 999. پس همون 1000 تا درخواست بزنيم حدود 50% عکس هاي غير تکراري رو ميتونيم به دست بياريم. پس به صورت زير مينويسيم:🥸

کد براي دانلود عکس
کد براي دانلود عکس

براي افزايش سرعت از ThreadPool استفاده ميکنيم تا سريع دانلود کنيم. اسم عکس ها رو هم ايندکس ميزنيم

خروجي کد بالا
خروجي کد بالا

فايل هاي دانلود شده به صورت زير هستند چقدم ريزن🥸:

فايل هاي کپچاي دانلود شده
فايل هاي کپچاي دانلود شده

قسمت چهارم: برچسب زدن به اين بي زبونا

حالا نيازه که label بزنيم به اين عکس ها و بگيم مثلا عکس 042، چه عددي هست. يعني رو عکس 042، شماره 042 رو مينويسم. براي اين کار خب بيکار بودم دستي نوشتم. ولي دستي خالي نه. يه کد ريز براي ليبل زدن:🥲

يرچسب زدن به عکس ها
يرچسب زدن به عکس ها

خب يه دستم رو Enter و يه سه انگشت روي numpad با سرعت نور🥲 و با پخش آهنگ بندري🕺 سريع اعدادي که ميبينم رو مينويسم. اين کد مياد عددي که ميبيني رو مينويسي و اون فايل عکس رو اسمش رو تغيير ميده به اين. خب توي اين عکس ها تکراري هم زياده. وقتي هم تکراري باشه اين عکس حال رو حذف ميکنه.

عکس هاي ليبل خورده
عکس هاي ليبل خورده

با اين کار از 1000 عکس دانلود شده تعداد 626 عدد عکس غير تکراري به دست اومد که همينقدر هم انتظار داشتيم. ميتونيم يه بار هم 1000 تا دانلود کنيم تا حدود 95% عکس هارو داشته باشيم ولي وقت نداشتم.🥸

قسمت پنجم: توسعه مدل براي پردازش تصوير

تا اينجا پست طولاني شد👍 ميخواستم جزئيات مدل رو هم توضيح بدم ولي احتمالا با کمالگرايي تقريبا سه چهار تا پست بشه و از حوصله مخاطب خارج ميشه. براي همين توضيح اجمالي ميدم و ميگذرم.

کد شماره 1
کد شماره 1

اينجا عکس ها و اسامي اونا که برچسب اوناست رو براي آموزش محيا مينماييم. عکس ها به آرايه تبديل ميکنيم و نرمال سازي روش انجام ميديم که بين 0 و 1 بشن تا محاسبات روش سريع تر و بهتر انجام بشه.

کد شماره 2
کد شماره 2

اردک تک تک تک تک اردک اردک تک تک تک اردک ---> اگه با ريتم خوندي تو دوست خوب مني!🤍

ادامه داستان در پست بعدي! چون پست طولاني بشه سرتون درد ميگيره :)

لينک قسمت دوم رو اينجا بزن