برنامه‌نویسی

دانلود از یوتوب

این یه پروژه شخصیه. زیاد پیش میومد که فیلمی رو از یوتوب بخوام ببینم یا دانلود کنم و به هر دلیلی نخوام از فیلتر شکن استفاده کنم. فرض کنید فیلم های بلند. مثلا چند مورد از فیلم های ریچارد داوکینز بود که حجم بالایی داشتن می خواستم توی زمان دانلود مجانی بگیرمشون. 🙂

تا یه جایی از سرویس های آنلاین تبدیل فرمت استفاده می کردم و یا یکی دو تا سایت که کارشون گرفتن فیلم های یوتوب و دادن یه لینک مستقیم بود. بعد کم کم همشون رفتن سراغ جاوا و می گفتن اجازه بده یه چیزی رو سیستمت نصب کنیم تا ما هم اجازه بدیم تو فیلم دانلود کنی. این شد که بی خیالشون شدم و تصمیم گرفتم کارم رو خودم انجام بدم.

این مورد همزمان بود با شروع یادگیری PHP، بنابراین سعی کردم این پروژه رو با PHP پیاده کنم. برای انجامش از کلاس PHPtube استفاده کردم که خب مدت ها بود به روز نشده بود. یه فورک ازش گرفتم ولی تنبلی کردم و توی گیتهاب تغییرات و اضافه ها رو آپلود نکردم.

با یه سری مشکلات رو به رو شدم. این کلاس، لینک فایل رو بر می گردوند و حالا باید فکری به حال دانلود می کردم. اول اینکه محدودیت زمان اجرای PHP رو باید برمی داشتم یا حداقل به زمان منطقی می رسندمش. من از این دستور استفاده کردم:

مورد بعدی اینه که اگر فایل بزرگ باشه دانلودش با هر دستوری امکان پذیر نیست. بعد از کلی جستجو و خوندن پیشنهادهای مختلف و اجراشون به استفاده از دستور curl رسیدم. در یک زمانی تصمیم گرفتم که از رزیوم استفاده کنم. فایل رو به قطعات کوچک تبدیل می کردم و می ریختم توی یک فولدر به صورت موقت و در نهایت فایلها رو به هم می چسبوندم ولی در عمل این قضیه منجر می شد به دانلود ناقص فیلم ها. زیاد پیش میومد که پارت آخر دانلود نشه و فایل اصلی ناقص بشه. البته هنوز این ایده رو کنار نذاشتم و اگر وقت کنم اجراییش می کنم. دستوری که الان اجرا می شه اینه:

و خب مورد بعدی این بود که ترجیح می دادم به جای اجرای همه کارها در یک فایل، دستورات رو تقسیم کنم و هر فایل کار به خصوصی رو انجام بده و که بعدها گسترشش برای خودم و دیگران راحت تر باشه. این شد که رسیدم به استفاده از require و require_once برای خوندن فایل های جداگانه و دسترسی به فانکشن هاشون. شاید تنها کمبودشون الان ناقص بودن کامنت ها باشه.

برای دانلود هم همونطور که خواهید دید پس از انتخاب کیفیت وسیله کاربر، مشخصات فایل مثل آدرس و نام از طریق سشن به فایل دانلود منتقل می شه. در واقع اطلاعات کیفیت های مختلف در سشن قرار می گیره و به دانلودر می گم که کدوم اطلاعات رو مبنای کار قرار بده. مقادیری که به صورت GET به دانلودر منتقل می شه شامل اسم سشن انتخابی، اسم فایل و تایپشه.

آدرس دسترسی به دموی این پروژه هم اینه که البته فقط تا قبل از دانلود رو جلو می ره. محدودیت IP براش گذاشتم چون سرور محدودیت حجمی و ترافیک داره 🙂

ایده های زیادی که برای تکمیلش دارم. بعضی هاش رو اینجا می نویسم و بعد در بخش پروژه ها یه سرفصل براش در نظر می گیرم.

  • توانایی گرفتن اطلاعات و دانلود روی سرور دیگه مثلا استفاده از دراپ باکس یا سرورهای دانلودی که از هوستینگ بگیرم.
  • امکان مشخص کردن طول عمر برای فایل های دانلودی و پاک کردنشون بعد از مدت محدود.
  • امکانثبت نام کاربرها و مشخص کردن سطح دسترسی
  • محدودیت حجم دانلود برای کاربرها

البته این لیست می تونه بیشتر بشه. هدف از این پروژه هم تمرین عملی PHP و کانکت شدن با MySql است.

نکته: خیلی از کدها رو خودم ننوشتم. از جاهای مختلف جستجو کردم. مثال ها رو چک کردم و اونی که به هدفم نزدیکتر بود رو با کمی جرح و تعدیل استفاده کردم.

خوشحال می شم اگر ایده، پیشنهاد و یا انتقادی دارید بگید. یا جایی فکر می کنید کدها رو اشتباه نوشتم بهم خبر بدید.

Standard
امنیت

واشنگتن پست چگونه هک شد؟

بعد از یکی دو تا پست گذشته در مورد ارتش الکترونیک سوریه و هک های موفقی که انجام داده و با توجه به اینکه می دونستم روش اصلیشون فیشینگه، کمی در مورد کارهای موفقشون جستجو کردم.

فیشینگ چیست؟
این روش در واقع فریفتن کاربره (با سایت های جعلی و نظیر آن) برای به دست آورد اطلاعات حیاتی مثل پسورد. در ویکیپدیا فارسی می تونید توضیحات بیشتری رو ببینید که من از تکرارشون اجتناب می کنم.

هک شدن واشنگتن پست
بریم سراغ مطلب اصلی. حمله به واشینگتن پست از یه آخر هفته شروع شد. یک صفحه جعلی به شکل لاگین وبمیل سایت اصلی برای برخی از اعضای گروه خبر ایمیل شده بوده احتمالا. اطلاعات دقیقتری پیدا نکردم که چطور فریب دادن نفرات رو برای رفتن به صفحه جعلی ولی معمولا این کار با یک ایمیل جعلی انجام می شه. ارسال ایمیل جعلی با وجود همه روش های جلوگیری از دریافت این ایمیل ها (مثل اسپم فیلترینگ سرویس جیمیل) هنوز امکان پذیره.

صفحه جعلی لاگین به وبمیل

صفحه جعلی لاگین به وبمیل

ابتدا یکی از نویسندگان گروه ورزش فریب می خوره و پسوردش رو وارد می کنه. اگر با دقت عکس بالا رو نگاه کنید می بینید که آدرس سایت با آدرس سایت واشنگتن پست متفاوته ولی به خاطر طولانی بودن آدرس و دقت نکردن کاربر، هکر به هدفش رسیده. حالا دیگه کار هکر راحت تره. با استفاده از یه ایمیل شناخته شده (فرض کنید دوستتون) به بقیه قربانی ها ایمیل می زنه. همونطور که در اییل زیر می بینید، گفته شده که از طرف ایمیل هک شده برای سایرین ایمیل های فریب دهنده ارسال می شه

ایمیل داخلی واشنگتن پست

ایمیل داخلی واشنگتن پست

همونطور که از متن برمیاد روی کامپیوتر قربانی هم یک کیلاگر قرار گرفته به احتمال زیاد چون با وجود تغییر پسورد بازهم هکرها به ایمیل دسترسی دارند.

همونطور که در تصویر اول می بینید صفحه جعلی در دامنه site88.net آپلود شده. بیایم یه نگاه دقیقتر به این دامنه بدازیم.
اطلاعات ثبت کننده سایت که مخفی شده:

اطلاعات ثبت کننده و ادمین

اطلاعات ثبت کننده و ادمین

عکسهای صفحه اول این دامنه در سال های ۲۰۰۸، ۲۰۱۲ و ۲۰۱۳ نشون می ده که در تمام این سالها دامنه روی سرورهای رایگان ۰۰۰webhost.com استفاده شده.

هک شدن اونیون
این سایت هم توسط گروه SEA هک شد. نقطه شروع از ایمیل جعلی بود که مثلا از طرف یکی از اعضای سازمان ملل برای اعضای این سایت ارسال شد که حاوی لینکی بود به خبری از واشنگتن پست در مورد این اونیون

ایمیل جعلی

ایمیل جعلی

این لینک در واقع قربانی رو منتقل می کرد به لینک دومی که این بود:
http://hackedwordpresssite.com/theonion.php
و سپس منتقل می شد به لینک دیگری که این بود:
http://googlecom.comeze.com/a/theonion.com/Service.Login?&passive=1209600&cpbps=1&continue=https://mail.google.com/mail/
لینک سوم که دیگه از کار افتاده و صفحه ای بوده که روی سرورهای رایگان ۰۰۰webhost.com بارگذاری شده بود. این صفحه از قربانی اطلاعات حساب گوگل رو می پرسید و سپس به صفحه گوگل منتقل می شد.

این ایمیل به تعداد محدودی از کاربران فرستاده شده بود که حساسیت ایجاد نکنه. یکی از کاربران فریب می خوره و اطلاعات رو وارد می کنه. حالا هکر با استفاده از اکانت به دست آورده، دوباره ایمیل رو به اعضای سایت می فرسته. اکثر کاربرها لینک رو باز می کنند ولی فقط دو نفر از اونها فریب می خورند و پسوردشون در اختیار هکر قرار می گیره. یکی از اونها به اکانت های شبکه های اجتماعی سایت دسترسی داشته. اینجوری می شه که اکانت های سایت هک می شه.
حالا زمانی می رسه که پشتیبان های امنیت سایت متوجه می شن و ایمیلی به همه اعضا می فرستند که سایت هک شده و پسوردشون رو تغییر بدن. هکرها دوباره از این موقعیت استفاده می کنند و ایمیل مشابهی به کاربران (منهای اعضای آی‌تی) می فرستند و لینک صفحه فیشینگ دیگه ای رو به اسم لینک تغییر پسورد می فرستند. این حمله جدید منجر به فریب دو عضو دیگه می شه که یکی از اونها دسترسی به اکانت توییتر سایت داشته و بنابرای اکانت توییتر هم در اختیار هکرها قرار می گیره.
در این مرحله آِ‌تی به این نتیجه می رسه که تشخیص امن و هک شده بودن اکانت ها غیر ممکنه. بنابراین پسورد همه اکانت ها رو شخصا تغییر می ده.

همونطور که قبلا هم گفتم اون ضرب المثل معروف رو، امنیت یک مجموعه به اندازه امنیت ضعیف ترین بخش اون مجموعه است. اینجاست که باز هم می رسیم به نگرش غلط مدیران آی‌تی ایرانی مبنی بر بیشتر کردن محدودیت کاربرها برای داشتن امنیت بیشتر. برای جلوگیری از حملاتی مثل فیشینگ، قدم اول آموزشه، قدم دوم تقویت سیستمهای فیلتر کردن ایمیل های فیشینگ و قدم سوم طراحی سیستم های دسترسی و توزیع ایمیل ها و اکانت ها بر پایه یک ساختار امن.

منبع و منبع

Standard
امنیت

اطلاعات جدیدی در مورد ارتش الکترونیک سوریه

هفته گذشته رو می شه اختصاص داد به ارتش الکترونیک سوریه SEA. هم تونستن توییتر و نیویورک تایمز رو هک کنند (تغییر DNS) و هم خودشون هک شدن (البته تکذیب می کنند).
اطلاعات مختلفی از حداقل دو منبع در مورد این گروه به بیرون درز کرده. که بعد در سایت های مختلف بخشی از آنها تکرار شده. آنچه که در مورد این گروه گفته می شه و شایعاتی که بوده با فاش شدن عکس های سرور هک شده سایتشون و تاریخچه دستورات اجرا شده و نیز لیست اسامی و ایمیل ها و آدرس لینکدین اونها، تقویت شده. اینکه نفر اصلی این گروه شخصی به اسم حاتم دیب، یک سوری الاصل ساکن سنت پترزبورگ روسیه است. همچنین مدیر سایت این گروه فردی به اسم Ali Farha است که همسن حاتم و هم‌دانشگاهی اون در سوریه است. روزنامه دولتی سوریه در مقاله ای که در سال ۲۰۱۱ چاپ کرد، اطلاعاتی در مورد این گروه و حاتم دیب را منتشر کرده است.

ایمیل ادمین سایت که منسوب به حاتم دیب است

ایمیل ادمین سایت که منسوب به حاتم دیب است

هفته گذشته ابتدا یک تصویر که نشان دهنده بخشی از اطلاعات کاربران سایت این گروه بود منتشر شد.

لیست کاربران سایت متعلق به SEA

لیست کاربران سایت متعلق به SEA

پس از مصاحبه یکی از اعضای این گروه با سایت mashable و تکذیب هک شدن سایتشون و یا نگهداری اطلاعات حساس روی سرورها و نیز تکذیب رابطه کاری با حاتم، بخش بزرگی از اطلاعات مرتبط با این گروه در سایتی منتشر شد. این سایت فقط از طریق شبکه tor قابل دسترسیه اما یک سایت فرانسی گزارشی از اطلاعات منتشر شده را کار کرده است (توجه: این سایت حاوی عکس هاییه که ممکنه نخواهید ببینید)

لیست فولدرهای سرور

لیست فولدرهای سرور

و البته کاربرها:

اکانت های توییتر و لینکدین اعضای گروه

اکانت های توییتر و لینکدین اعضای گروه

جالبه که یه سری از عکس های شخصی اعضای گروه در اکانت دراپ باکسشون هم لو رفته که بعضی هاش عکس های خیلی شخصیه 🙂

همچنین تاریخچه دستورات اجرا شده روی سرور نشون می ده که ادمین از مسنجر imo استفاده می کنه

تاریخچه دستورات

تاریخچه دستورات

و البته یک نکته جالب دیگه. دایرکتوری ادمین سایت محدودیت IP داره و با چک کردن لیست IP های مجاز به عکس زیر می رسیم:

لیست IP های مجاز

لیست IP های مجاز

این لیست شامل تعدادی از ناشناس کننده های سرویس tor و تعدادی سایت در اردن است. مهمترین نکته قرار گرفتن IP وزارت آموزش عالی اردن و وابسته فرهنگی عربستان در اردن در این لیسته.

البته بعد از انتشار این اسناد اکانت توییتر منتسب به گروه “ارتش الکترونیک سوریه” اعلام کرد عکس ها تقلبی بوده و یا مربوط به هک اتفاقی بعضی آدم های طرفدار حکومت سوریه است.

اطلاعات این پست برگرفته از اینجا، اینجا و اینجاست.

Standard