Forwarded from VPN CLUB
13ماه استفاده رایگان از google AI Pro
دسترسی به ابزارهای پیشرفته Google AI (مثل Gemini Advanced).
امکان اشتراکگذاری فضای ذخیرهسازی با اعضای خانواده.
فضای ذخیرهسازی ۲ ترابایت (2 TB)
در سرویسهای Google مثل Google Drive، Gmail، و Google Photos.
فعالسازی پرمیوم google one
فقط با آی پی آمریکا باید وارد بشید
وارد لینک شدید روی Get student offer بزنید
http://one.google.com/join/ai-student
دسترسی به ابزارهای پیشرفته Google AI (مثل Gemini Advanced).
امکان اشتراکگذاری فضای ذخیرهسازی با اعضای خانواده.
فضای ذخیرهسازی ۲ ترابایت (2 TB)
در سرویسهای Google مثل Google Drive، Gmail، و Google Photos.
فعالسازی پرمیوم google one
فقط با آی پی آمریکا باید وارد بشید
وارد لینک شدید روی Get student offer بزنید
http://one.google.com/join/ai-student
👍5
/dev/null
GIF
داشتم درباره Channel Layer ها تویه Django میخوندم دیدم بحث جالبیه
Channel Layer
در Django Channels یک لایه انتزاعی (abstraction layer) هس که برای مدیریت ارتباط بین مصرفکنندگان (Consumers) در یک اپلیکیشن Django استفاده میشه. این لایه بهتون امکان میده پیامها رو بین بخشهای مختلف برنامهتون (مثل سرورهای مختلف یا پروسههای مختلف) ارسال و دریافت کنین. در واقع، Channel Layer مثل یه message broker عمل میکنه که پیامها رو به صورت ناهمگام (asynchronous) مدیریت میکنه.
حالا اصلا چرا بهش نیاز داریم ؟
در Django Channels برای پشتیبانی از قابلیتهایی مثل WebSocket، چت real-time، اعلانها و هر چیزی که نیاز به ارتباط ناهمگام داره، طراحی شده. اما چون Django بهصورت پیشفرض برای درخواستهای همگام (synchronous HTTP) ساخته شده، Channel Layer بهعنوان مثلا یه پل ارتباطی اضافه شده تا
پیامها رو بین چندین instance از اپلیکیشن پخش کنه یا چند تا سرور داشته باشیم که بتونن با هم هماهنگ کار کنن یا ارسال پیام به گروه ها و ...
حالا خود Channel Layer سه تا جزء داره :
Channels:
کانالها مثل یه لوله ارتباطی هستن که پیامها از طریق اونها جابهجا میشن. هر کانال یه اسم منحصربهفرد داره (مثل chat_room1).
Groups:
گروهها برای مدیریت چندین کانال بهصورت همزمان استفاده میشن. مثلاً تو یه اپلیکیشن چت، میتونید یه گروه برای یه اتاق چت بسازید و پیامها رو به همه اعضای اون گروه بفرستید.
Backend:
Channel Layer
به یه سیستم بکاند (مثل Redis یا In-Memory) نیاز داره تا پیامها رو ذخیره و مدیریت کنه. این بکاند تعیین میکنه که پیامها چطور ذخیره و منتقل میشن.
((طبیعتا In-Memory واسه تسته فقط و واسه محیط واقعی کاربرد نداره چون فقط تویه یه پروسه کار میکنه و برای مدریت کابران بیشتر مناسب نیس مثلا :
اگر کاربر A به پروسه 1 سرور شما متصل بشه و کاربر B به پروسه 2، و کاربر A پیامی به یک گروه چت ارسال کنه، کاربر B آن پیام را دریافت نمیکنه، چون پیام فقط در حافظه پروسه 1 پخش شده و این مشکل با Redis حل میشه ! . ))
چطوری کار میکنه ؟
وقتی یه Consumer پیامی رو به یه کانال میفرسته، Channel Layer این پیام رو به بکاند (مثل Redis) میفرسته.
سایر Consumer که به همون کانال گوش میدن، پیام رو دریافت میکنن.
Channel Layer
در Django Channels یک لایه انتزاعی (abstraction layer) هس که برای مدیریت ارتباط بین مصرفکنندگان (Consumers) در یک اپلیکیشن Django استفاده میشه. این لایه بهتون امکان میده پیامها رو بین بخشهای مختلف برنامهتون (مثل سرورهای مختلف یا پروسههای مختلف) ارسال و دریافت کنین. در واقع، Channel Layer مثل یه message broker عمل میکنه که پیامها رو به صورت ناهمگام (asynchronous) مدیریت میکنه.
حالا اصلا چرا بهش نیاز داریم ؟
در Django Channels برای پشتیبانی از قابلیتهایی مثل WebSocket، چت real-time، اعلانها و هر چیزی که نیاز به ارتباط ناهمگام داره، طراحی شده. اما چون Django بهصورت پیشفرض برای درخواستهای همگام (synchronous HTTP) ساخته شده، Channel Layer بهعنوان مثلا یه پل ارتباطی اضافه شده تا
پیامها رو بین چندین instance از اپلیکیشن پخش کنه یا چند تا سرور داشته باشیم که بتونن با هم هماهنگ کار کنن یا ارسال پیام به گروه ها و ...
حالا خود Channel Layer سه تا جزء داره :
Channels:
کانالها مثل یه لوله ارتباطی هستن که پیامها از طریق اونها جابهجا میشن. هر کانال یه اسم منحصربهفرد داره (مثل chat_room1).
Groups:
گروهها برای مدیریت چندین کانال بهصورت همزمان استفاده میشن. مثلاً تو یه اپلیکیشن چت، میتونید یه گروه برای یه اتاق چت بسازید و پیامها رو به همه اعضای اون گروه بفرستید.
Backend:
Channel Layer
به یه سیستم بکاند (مثل Redis یا In-Memory) نیاز داره تا پیامها رو ذخیره و مدیریت کنه. این بکاند تعیین میکنه که پیامها چطور ذخیره و منتقل میشن.
((طبیعتا In-Memory واسه تسته فقط و واسه محیط واقعی کاربرد نداره چون فقط تویه یه پروسه کار میکنه و برای مدریت کابران بیشتر مناسب نیس مثلا :
اگر کاربر A به پروسه 1 سرور شما متصل بشه و کاربر B به پروسه 2، و کاربر A پیامی به یک گروه چت ارسال کنه، کاربر B آن پیام را دریافت نمیکنه، چون پیام فقط در حافظه پروسه 1 پخش شده و این مشکل با Redis حل میشه ! . ))
چطوری کار میکنه ؟
وقتی یه Consumer پیامی رو به یه کانال میفرسته، Channel Layer این پیام رو به بکاند (مثل Redis) میفرسته.
سایر Consumer که به همون کانال گوش میدن، پیام رو دریافت میکنن.
👍8
/dev/null
داشتم درباره Channel Layer ها تویه Django میخوندم دیدم بحث جالبیه Channel Layer در Django Channels یک لایه انتزاعی (abstraction layer) هس که برای مدیریت ارتباط بین مصرفکنندگان (Consumers) در یک اپلیکیشن Django استفاده میشه. این لایه بهتون امکان میده…
قبلا واسه ارسال ایمیل ها یه تابعی به اسم send_mail نوشته بودم که وقتی ادمین یه سری کاربر رو دعوت به میت میکرد یه ایمیل براشون فرستاده میشد با django.core.mail که تویه فلان ساعت و فلان روز میت هس
اما یه مشکلی داره که طبیعتا فشار زیادی رویه سرور میاد و اگه تعداد ایمیل ها زیاد باشه ادمین باید کلی صبر کنه تا ایمیل ها فرستاده بشه بعد حالا به یه جایی redirect بشه
میشه همبن کار رو ناهمزمان اجرا کرد به دو روش :
اولیش استفاده از Threading هس . هر برنامه تویه یه Thread اصلی اجرا میشه اما میتونیم به صورت موازی (یا شبه موازی به دلیل cpu bound ) بیایم تسک ها در کنار برنامه اجرا کنیم مثلا ارسال ایمیل در یه ترد جداگونه اجرا میشه و دیگه نیازی به صبر نیس
دومیش هم استفاده از celery که سیستم صف وظایف هس . تسک ها درون یک صف قرار میگیرن و بعد توسط یک یا چند تا worker که منظور همون پروسه های سیستم هستن از صف برداشته و اجرا میشن .
اما این وسط نیاز به یه broker داریم که ارتباط بین برنامه و پروسه ها رو ایجاد کنه (ینی یه جا باشه که تسک ها داخل صف ذخیره بشن) مثل Redis
با celery beat یا cronjob هم میشه تسک ها رو تویه یه زمانبندی خاص اجرا کرد.
اما یه مشکلی داره که طبیعتا فشار زیادی رویه سرور میاد و اگه تعداد ایمیل ها زیاد باشه ادمین باید کلی صبر کنه تا ایمیل ها فرستاده بشه بعد حالا به یه جایی redirect بشه
میشه همبن کار رو ناهمزمان اجرا کرد به دو روش :
اولیش استفاده از Threading هس . هر برنامه تویه یه Thread اصلی اجرا میشه اما میتونیم به صورت موازی (یا شبه موازی به دلیل cpu bound ) بیایم تسک ها در کنار برنامه اجرا کنیم مثلا ارسال ایمیل در یه ترد جداگونه اجرا میشه و دیگه نیازی به صبر نیس
دومیش هم استفاده از celery که سیستم صف وظایف هس . تسک ها درون یک صف قرار میگیرن و بعد توسط یک یا چند تا worker که منظور همون پروسه های سیستم هستن از صف برداشته و اجرا میشن .
اما این وسط نیاز به یه broker داریم که ارتباط بین برنامه و پروسه ها رو ایجاد کنه (ینی یه جا باشه که تسک ها داخل صف ذخیره بشن) مثل Redis
با celery beat یا cronjob هم میشه تسک ها رو تویه یه زمانبندی خاص اجرا کرد.
👍6
Forwarded from GO-TO CVE
CVE-2023-38831-week-54.pdf
588.3 KB
بررسی CVE-2023-38831 – فقط یه فایل RAR باز کن… بوم! 🎯💣
سلام به همه عزیزان و عاشقان مهندسی معکوس! خوش اومدین به اپیزود ۵۴ از برنامهی هفتگی GO-TO CVE! 🎙💻
این هفته رفتیم سراغ یه آسیبپذیری واقعی و پر سر و صدا اما قدیمی در یکی از محبوبترین ابزارهای فشردهسازی دنیا WinRAR! 🎯
🔹 Week: 54
🔹 CVE: CVE-2023-38831
🔹 Type: RCE via Archive Trick
🔹 Target: WinRAR < v6.23
⚒️ Patch چی بوده؟
توی نسخه 6.23 و بالاتر، تیم WinRAR منطق اولویتدهی به فایل و فولدر با نام یکسان رو اصلاح کرده. حالا دیگه فولدر همنام فایل نمیتونه باعث override رفتار کلیک بشه، و این یعنی پایان ترفند RCE با اسمگذاری هوشمندانه!
🎯 توی اپیزود ۵۴ از کانال GO-TO CVE با هم بررسی کردیم:
📬 عضویت در کانال + هر هفته یه باگ باحال برای تحلیل:
https://t.me/GOTOCVE
#week_54
سلام به همه عزیزان و عاشقان مهندسی معکوس! خوش اومدین به اپیزود ۵۴ از برنامهی هفتگی GO-TO CVE! 🎙💻
این هفته رفتیم سراغ یه آسیبپذیری واقعی و پر سر و صدا اما قدیمی در یکی از محبوبترین ابزارهای فشردهسازی دنیا WinRAR! 🎯
🔹 Week: 54
🔹 CVE: CVE-2023-38831
🔹 Type: RCE via Archive Trick
🔹 Target: WinRAR < v6.23
⚒️ Patch چی بوده؟
توی نسخه 6.23 و بالاتر، تیم WinRAR منطق اولویتدهی به فایل و فولدر با نام یکسان رو اصلاح کرده. حالا دیگه فولدر همنام فایل نمیتونه باعث override رفتار کلیک بشه، و این یعنی پایان ترفند RCE با اسمگذاری هوشمندانه!
🎯 توی اپیزود ۵۴ از کانال GO-TO CVE با هم بررسی کردیم:
📬 عضویت در کانال + هر هفته یه باگ باحال برای تحلیل:
https://t.me/GOTOCVE
#week_54
👍5❤3
Forwarded from HuntLearn
🔒 حل یکی از پیچیدهترین لابهای PortSwigger سطح Expert!
🚨 ترکیب Web Cache Poisoning با DOM-based vulnerability در شرایطی که کش سرور بهشدت محدودکنندهست.
🎯 تحلیل کامل آسیبپذیری + اجرای مرحلهبهمرحله اکسپلویت
🎥 تدریس توسط آریا @ary4ban
📍 ویدیو کامل در یوتیوب HuntLearn
📎 لینک:
https://youtu.be/KukprCn7uXU
🚨 ترکیب Web Cache Poisoning با DOM-based vulnerability در شرایطی که کش سرور بهشدت محدودکنندهست.
🎯 تحلیل کامل آسیبپذیری + اجرای مرحلهبهمرحله اکسپلویت
🎥 تدریس توسط آریا @ary4ban
📍 ویدیو کامل در یوتیوب HuntLearn
📎 لینک:
https://youtu.be/KukprCn7uXU
👏2
Forwarded from CyberSecurity
رایتاپ جدید نوشتم براتون
بخونید و حتما کامنت بزارید انرژی بگیرم
https://matitanium.medium.com/account-takeover-with-oauth-misconfiguration-d6b384649930
بخونید و حتما کامنت بزارید انرژی بگیرم
https://matitanium.medium.com/account-takeover-with-oauth-misconfiguration-d6b384649930
Medium
Account Takeover with OAuth Misconfiguration.
Hello folks,
❤5
Forwarded from BugBounty & Hacking Resources (Meydi)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Forwarded from localhost
اسکریپت آماه کانفیگ wireguard برای میکروتیک:
فقط copy و paste کنید.
interface/wireguard/add name=wir listen-port=45562 private-key="RAGMp9So0WDPnLvuZjl5ViBPO9knGhDfNn2OIOA7LTk="
interface/wireguard/peers/add public-key="3KqGutEuL49+SfMTwCmqPjJahCuq3Dt3WtErcIfNX3Y=" interface=wir allowed-address=10.10.10.2
interface/wireguard/peers/add public-key="kMCDkNf946AyzVVjHBOTpbDNYoWcVqUQmb+Qe7zpGGc=" interface=wir allowed-address=10.10.10.3
interface/wireguard/peers/add public-key="mn0rZXXOWOJUyMapJrnCJEg1nap834IRTFbG87yVXjA=" interface=wir allowed-address=10.10.10.4
interface/wireguard/peers/add public-key="uG/DXYmZ1ALGHVb2yBqIS5BUtQEis2KVe3hAx4nmVQc=" interface=wir allowed-address=10.10.10.5
interface/wireguard/peers/add public-key="F9BlsfyPMjmVMlCKm6rOW7kkFxn4xylmwW9lGHDAETo=" interface=wir allowed-address=10.10.10.6
ip address/add address=10.10.10.1/24 interface=wir
ip/pool/add name=wir ranges=10.10.10.0-10.10.10.254
ip firewall nat add chain=srcnat action=masquerade
فقط copy و paste کنید.
Forwarded from A X I O M
Media is too big
VIEW IN TELEGRAM
تو این آموزش توضیح دادم که چطوری با این اسکریپت کانفیگ های سالم v2ray رو از داخل کانالا پیدا کنید
قبل از هر چیزی هم این کتابخونه رو باید نصب کنید با این دستور
قبل از هر چیزی هم این کتابخونه رو باید نصب کنید با این دستور
pip install telethon
❤4
Forwarded from Seyed Mahdi Notes (Seyed Mahdi)