Forwarded from iRLords (127.0.0.1:443)
Forwarded from iRLords (127.0.0.1:443)
iRLords
charge_card_shahrekord_v1.0.1_1404_01_23_Signed_072520.apk
اپ و ی سری دیتا از دستگاهای شارژ بلیط brt
کلید امنیتی هر سکتور کارتای mifare ای که این دستگاها ( نیولند k3 عه فکر کنم ) شارژشون میکنن توی این اپ هست
شارژ بینهایت سلام
کلید امنیتی هر سکتور کارتای mifare ای که این دستگاها ( نیولند k3 عه فکر کنم ) شارژشون میکنن توی این اپ هست
شارژ بینهایت سلام
البته همونطور که توی اون چنل هم گفتم این واسه شهرکرده... احتمالاً بقیه شهرا secret keyشون فرق داشته باشه و این اپ نتونه شارژشون کنه
Forwarded from 127.0.0.1:443
127.0.0.1:443
BPM-THP_pax-A930-v01.07.06(38)-release+_SIG.apk
ایناهم بودن ، ولی دستگاهاشونو اپدیت کردن دیگه از این برنامه استفاده نمیکنن
همونی که بالاتر فرستادم رو فعلاً دارن استفاده میکنن
همونی که بالاتر فرستادم رو فعلاً دارن استفاده میکنن
بخاطر این اپدیتی که انجام دادن مجبور شدن کل کارتای قبلی رو جمع آوری کنن و کارت جدید به ملت بفروشن
چرا؟ احتمالاً چونکه secret key کارتای قبلی لو رفته بود و ملت داشتن رایگان با اتوبوس جابجا میشدن
احتمالاً اگه بفهمن اپ جدیدشونم لیک کردیم دوباره بخوان همچین حرکتی بزنن و دوباره کارت جدید توزیع کنن :)
چرا؟ احتمالاً چونکه secret key کارتای قبلی لو رفته بود و ملت داشتن رایگان با اتوبوس جابجا میشدن
احتمالاً اگه بفهمن اپ جدیدشونم لیک کردیم دوباره بخوان همچین حرکتی بزنن و دوباره کارت جدید توزیع کنن :)
مکانیزم این کارتا مثلا MIFARE Classic کلاً اینطوریه که حافظه کارت به چندتا Sector و Block تقسیم شده و هر Sector هم یه مقدار مشخصی فضای ذخیره سازی داره
برای اینکه بتونیم به اطلاعات هر Sector دسترسی داشته باشیم کارت از Key A و Key B و ی سری Access Bit استفاده میکنه
این کلیدا برای Authentication هستن و مشخص میکنن که با چه کلیدی اجازه داریم اطلاعات اون بخش رو بخونیم ، بنویسیم یا تغییرش بدیم...
ولی یه نکته مهم این وسط هست
اینطوری نیست که هر Sector رو با یه کلید جداگونه Encrypt کنن و برنامه بعداً کل Sector رو با همون کلید Decrypt کنه
کلیدا بیشتر برای Authentication و کنترل دسترسی به حافظه استفاده میشن و ارتباط Reader با کارت هم خودش مکانیزم رمزنگاری مخصوص MIFARE رو داره
پس اگه ی برنامه کلیدای معتبر کارت رو داشته باشه میتونه با کارت Authenticate کنه و اگه Access Bit ها اجازه بدن Block های مربوطه رو بخونه یا تغییر بده ، دقیقاً مثل کاری که اپای بالایی که فرستادم انجام میدن
حالا چون ما کلیدای امنیتی کارت رو داریم ( میشه از اپ بالا که فرستادم راحت استخراجش کرد ) از نظر دسترسی به کارت عملاً میتونیم همون کاری که دستگاه شارژکننده انجام میده رو خودمون انجام بدیم یعنی به بخش های مربوطه Authenticate کنیم ، دیتای لازم رو بخونیم و مقدار مربوط به موجودی رو تغییر بدیم... بنابراین اگه سیستم برای افزایش موجودی فقط به اطلاعات ذخیره شده روی خود کارت متکی باشه ( که سیستمای شهرکرد همینطورن ) میتونیم این فرایند رو بدون استفاده از دستگاه شارژکننده و بدون پرداخت پول به دستگاه انجام بدیم :)
برای اینکه بتونیم به اطلاعات هر Sector دسترسی داشته باشیم کارت از Key A و Key B و ی سری Access Bit استفاده میکنه
این کلیدا برای Authentication هستن و مشخص میکنن که با چه کلیدی اجازه داریم اطلاعات اون بخش رو بخونیم ، بنویسیم یا تغییرش بدیم...
ولی یه نکته مهم این وسط هست
اینطوری نیست که هر Sector رو با یه کلید جداگونه Encrypt کنن و برنامه بعداً کل Sector رو با همون کلید Decrypt کنه
کلیدا بیشتر برای Authentication و کنترل دسترسی به حافظه استفاده میشن و ارتباط Reader با کارت هم خودش مکانیزم رمزنگاری مخصوص MIFARE رو داره
پس اگه ی برنامه کلیدای معتبر کارت رو داشته باشه میتونه با کارت Authenticate کنه و اگه Access Bit ها اجازه بدن Block های مربوطه رو بخونه یا تغییر بده ، دقیقاً مثل کاری که اپای بالایی که فرستادم انجام میدن
حالا چون ما کلیدای امنیتی کارت رو داریم ( میشه از اپ بالا که فرستادم راحت استخراجش کرد ) از نظر دسترسی به کارت عملاً میتونیم همون کاری که دستگاه شارژکننده انجام میده رو خودمون انجام بدیم یعنی به بخش های مربوطه Authenticate کنیم ، دیتای لازم رو بخونیم و مقدار مربوط به موجودی رو تغییر بدیم... بنابراین اگه سیستم برای افزایش موجودی فقط به اطلاعات ذخیره شده روی خود کارت متکی باشه ( که سیستمای شهرکرد همینطورن ) میتونیم این فرایند رو بدون استفاده از دستگاه شارژکننده و بدون پرداخت پول به دستگاه انجام بدیم :)
❤1
اقا ما به gpt گفتیم بیا مارو roast کن این نشسته داره ازمون تعریف میکنه
بهم این متنو داد ، شماهم اگه خواستید واسه خودتونو بفرستید من این پرامپت رو دادم بهش :
و جوابش شد :
اوکی، no filter, no mercy. بر اساس چیزایی که ازت دیدم:
تو از اون آدمایی هستی که اگه یه روز تصمیم بگیری «امروز فقط استراحت کنم»، ۴ ساعت بعد داری با ESP32، Burp، یه VPS و یه LLM دعوا میکنی که چرا فلان چیز کار نمیکنه. 😂
مشکل اصلیت اینه که کنجکاویات از نظم و تمرکزت خیلی جلوتره.
ده تا rabbit hole باز میکنی، توی هفتتاش میری، سهتاش رو تا مرز production میبری، بعد وسطش یه چیز جدید میبینی و میگی:
تو احتمالاً اگر یک توستر هوشمند ببینی، به جای اینکه نون بندازی توش، اول firmwareـشو dump میکنی ببینی چرا نون رو اینجوری toast میکنه.
از نظر فنی هم یه ویژگی خیلی خندهدار داری:
بین "بلدم" و "میخوام ببینم میشه" مرز خیلی کمی برات وجود داره.
یه روز:
Python
C/C++
Rust
Go
Ruby
PHP
JS
روز بعد:
RFID
reverse engineering
NLP
ML
Telegram Mini Apps
Burp
VPS
compiler design
داداش تو stack نداری، سیناپسهات package manager دارن.
😂
از اون طرف، حس مهندسیات واقعاً بالاست. خیلی وقتها سؤالهات صرفاً «چطوری انجامش بدم؟» نیست؛ دنبال اینی که چرا کار میکنه، کجای trust boundary شکسته، protocol چطور طراحی شده، یا implementation کجا اشتباه کرده. این بخش ازت واقعاً خوبه.
ولی بزرگترین دشمن خودت احتمالاً خودتی.
چون اگر چیزی ۸۰٪ جواب بده، مغزت اجازه نمیده بگی «خوبه».
میگی:
«نه، باید بفهمیم اون ۲۰٪ چرا اینطوریه.»
و سه ساعت بعد ساعت ۵ صبحه و داری درباره padding یک Base64 string با من بحث میکنی. 😭
یه roast دیگه:
تو احتمالاً برای انتخاب یک username ساده هم threat model میسازی:
و در نهایت همون username قبلی رو میذاری.
ولی جدیتر:
برداشت من اینه که پتانسیل فنیات از سطح فعلیت بالاتره، ولی پراکندگیات داره بخشی از اون پتانسیل رو میخوره.
تو بیشتر شبیه آدمی هستی که اگر ۲-۳ سال روی یک حوزه مشخص واقعاً عمیق بشی، میتونی خیلی جلوتر از کسی باشی که صرفاً ده تا تکنولوژی رو بلده.
الان vibeت اینه:
«I can probably figure it out.»
و این جمله هم بزرگترین نقطه قوتته، هم اگر کنترلش نکنی بزرگترین نقطه ضعفت.
چون برای تو «نمیدونم» معمولاً پایان کار نیست؛
تبدیل میشه به:
«بذار ببینم از کجا میشه فهمید.»
و honestly، این قسمتت رو دوست دارم. 😄
بهم این متنو داد ، شماهم اگه خواستید واسه خودتونو بفرستید من این پرامپت رو دادم بهش :
نظرت راجبم چیه؟
Roast me , no filter , no mercy
و جوابش شد :
اوکی، no filter, no mercy. بر اساس چیزایی که ازت دیدم:
تو از اون آدمایی هستی که اگه یه روز تصمیم بگیری «امروز فقط استراحت کنم»، ۴ ساعت بعد داری با ESP32، Burp، یه VPS و یه LLM دعوا میکنی که چرا فلان چیز کار نمیکنه. 😂
مشکل اصلیت اینه که کنجکاویات از نظم و تمرکزت خیلی جلوتره.
ده تا rabbit hole باز میکنی، توی هفتتاش میری، سهتاش رو تا مرز production میبری، بعد وسطش یه چیز جدید میبینی و میگی:
«صبر کن اینو هم میشه reverse engineer کرد؟»
تو احتمالاً اگر یک توستر هوشمند ببینی، به جای اینکه نون بندازی توش، اول firmwareـشو dump میکنی ببینی چرا نون رو اینجوری toast میکنه.
از نظر فنی هم یه ویژگی خیلی خندهدار داری:
بین "بلدم" و "میخوام ببینم میشه" مرز خیلی کمی برات وجود داره.
یه روز:
Python
C/C++
Rust
Go
Ruby
PHP
JS
روز بعد:
RFID
reverse engineering
NLP
ML
Telegram Mini Apps
Burp
VPS
compiler design
داداش تو stack نداری، سیناپسهات package manager دارن.
😂
از اون طرف، حس مهندسیات واقعاً بالاست. خیلی وقتها سؤالهات صرفاً «چطوری انجامش بدم؟» نیست؛ دنبال اینی که چرا کار میکنه، کجای trust boundary شکسته، protocol چطور طراحی شده، یا implementation کجا اشتباه کرده. این بخش ازت واقعاً خوبه.
ولی بزرگترین دشمن خودت احتمالاً خودتی.
چون اگر چیزی ۸۰٪ جواب بده، مغزت اجازه نمیده بگی «خوبه».
میگی:
«نه، باید بفهمیم اون ۲۰٪ چرا اینطوریه.»
و سه ساعت بعد ساعت ۵ صبحه و داری درباره padding یک Base64 string با من بحث میکنی. 😭
یه roast دیگه:
تو احتمالاً برای انتخاب یک username ساده هم threat model میسازی:
Attacker model: random internet user
Attack surface: username length
Mitigation: تغییر username
و در نهایت همون username قبلی رو میذاری.
ولی جدیتر:
برداشت من اینه که پتانسیل فنیات از سطح فعلیت بالاتره، ولی پراکندگیات داره بخشی از اون پتانسیل رو میخوره.
تو بیشتر شبیه آدمی هستی که اگر ۲-۳ سال روی یک حوزه مشخص واقعاً عمیق بشی، میتونی خیلی جلوتر از کسی باشی که صرفاً ده تا تکنولوژی رو بلده.
الان vibeت اینه:
«I can probably figure it out.»
و این جمله هم بزرگترین نقطه قوتته، هم اگر کنترلش نکنی بزرگترین نقطه ضعفت.
چون برای تو «نمیدونم» معمولاً پایان کار نیست؛
تبدیل میشه به:
«بذار ببینم از کجا میشه فهمید.»
و honestly، این قسمتت رو دوست دارم. 😄