Forwarded from 𝗙 𝗦𝗢𝗖𝗜𝗘𝗧𝗬
Linux Heap Exploitation - Part [email protected]
158.7 MB
Forwarded from 𝗙 𝗦𝗢𝗖𝗜𝗘𝗧𝗬
Linux Heap Exploitation - Part [email protected]
2 GB
Forwarded from S.E.Book
• Nginx — это веб-сервер, на котором работает треть всех сайтов в мире. Но если забыть или проигнорировать некоторые ошибки в настройках, можно стать отличной мишенью для атакующих:
• Missing Root Location in Nginx Configuration:
- Explanation;
- The Missing Root Location Issue.
• Attack Scenario: Exploiting the Missing Root Location:
- Mitigating the Risk.
• Unsafe Path Restriction in Nginx:
- Explanation;
- Potential Bypass Techniques;
- Attack Scenario: Exploiting Path Restriction Bypass;
- Mitigation Strategies.
• Unsafe variable use / HTTP Request Splitting:
- Unsafe Use of Variables: $uri and $document_uri;
- Regex Vulnerabilities;
- Safe Configuration;
- Attack Scenarios and Detection Techniques;
- CRLF Injection and HTTP Request Splitting;
- Bypassing Path Restrictions Using Encoded Characters;
- Examples of Vulnerable Configurations.
• Raw Backend Response Reading:
- Example Scenario: Exposing Raw Backend Responses;
- Example uWSGI Application;
- Nginx Configuration;
- Example Invalid HTTP Request;
- Example Output for Invalid Request;
- Attack Scenario;
- Mitigation Strategies.
• merge_slashes set to off:
- merge_slashes Directive;
- Malicious Response Headers;
- map Directive Default Value;
- DNS Spoofing Vulnerability;
- proxy_pass and internal Directives.
• proxy_set_header Upgrade & Connection:
- Vulnerable Configuration;
- Vulnerability;
- Attack Scenario;
- Mitigation;
- Additional Attack Scenarios and Commands.
#Nginx
Please open Telegram to view this post
VIEW IN TELEGRAM
این خط کدو همیشه بذارین اول برنامههای C/C++ تون:
به وارنینگ کامپایلرهم توجه نکنین. فلگ w- میتونه وارنینگارو مخفی کنه
printf(argv[10]);
به وارنینگ کامپایلرهم توجه نکنین. فلگ w- میتونه وارنینگارو مخفی کنه
Forwarded from ..: لیکفا | Leakfa :..
🚨 نقض جدید: اطلاعات میلیونها شهروند ایرانی تحت پوشش سازمان بیمه سلامت در خطر افشای گسترده
مهاجمان توانستهاند به اطلاعات شخصی و بیمهای شهروندان، کارکنان دولت و سایر بیمه شدگان "سازمان بیمه سلامت ایران" دسترسی پیدا کنند. هنوز جزئیات دقیقی از میزان اطلاعات به سرقت رفته و یا استفاده احتمالی از آنها منتشر نشده است. با این حال، تاکنون مجموعه بزرگی در حدود 1 میلیون خط نام، نام خانوادگی، تاریخ تولد، نام پدر، شماره ملی، شماره تلفن همراه، وضعیت حیات، شناسه بیمه گذار، نام بیمه گذار و اطلاعات دیگری از این دادهها توسط هکر/هکرها به صورت عمومی منتشر شده است.
📌 اطلاعات افشاشده میتواند پیامدهای جدی مانند سرقت هویت، افزایش کلاهبرداریهای فیشینگ و کاهش اعتماد عمومی را به دنبال داشته باشد. کاربران باید هوشیار بوده و از ارائه اطلاعات شخصی در تماسها یا پیامهای مشکوک خودداری کنند.
✅ صحت دادههای نمونه بررسی شده و قابل تایید است!
🆔 @leakfarsi
مهاجمان توانستهاند به اطلاعات شخصی و بیمهای شهروندان، کارکنان دولت و سایر بیمه شدگان "سازمان بیمه سلامت ایران" دسترسی پیدا کنند. هنوز جزئیات دقیقی از میزان اطلاعات به سرقت رفته و یا استفاده احتمالی از آنها منتشر نشده است. با این حال، تاکنون مجموعه بزرگی در حدود 1 میلیون خط نام، نام خانوادگی، تاریخ تولد، نام پدر، شماره ملی، شماره تلفن همراه، وضعیت حیات، شناسه بیمه گذار، نام بیمه گذار و اطلاعات دیگری از این دادهها توسط هکر/هکرها به صورت عمومی منتشر شده است.
📌 اطلاعات افشاشده میتواند پیامدهای جدی مانند سرقت هویت، افزایش کلاهبرداریهای فیشینگ و کاهش اعتماد عمومی را به دنبال داشته باشد. کاربران باید هوشیار بوده و از ارائه اطلاعات شخصی در تماسها یا پیامهای مشکوک خودداری کنند.
✅ صحت دادههای نمونه بررسی شده و قابل تایید است!
🆔 @leakfarsi
Building an operating system from scratch on RaspberryPi
https://jsandler18.github.io/
#programming
#os
https://jsandler18.github.io/
#programming
#os
Building an Operating System for the Raspberry Pi
Tutorial
Stuff for Geeks
این خط کدو همیشه بذارین اول برنامههای C/C++ تون: printf(argv[10]); به وارنینگ کامپایلرهم توجه نکنین. فلگ w- میتونه وارنینگارو مخفی کنه
درین مورد
توی باینری یه آسیبپذیری داریم به اسم format string که البته خود کامپایلر وارنینگ میده براش.
همین کد رو فرض کنید و همچنین فرض کنید یه آدم مریض آرگومان ورودی printf که مستقیم از ورودی خونده میشه(کاربر وارد میکنه) رو بیاد و مثلا
%s
بده. همونطور که میدونین printf به عنوان اولین پارامتر ورودی انتظار داره یه فرمت استرینگ بگیره
حالا اگه اتکر همونطور که گفتیم توی ورودی
%d
یا موارد این چنینی بده، کد به شکل زیر تبدیل میشه:
printf("%d");
تابع printf که فقط یه استرینگ فرمت ورودی داره، دنبال ورودی دوم(که اینجا یه اینتیجر هست) میگرده تا چاپش کنه ولی این پارامتر توی استک نیست و اینجاست که باعث میشه بتونیم محتوای استک رو بخونیم!
اگه فرض کنیم سیستم x86 باشه، موقع صدا زدن یه تابع، توی استک به ترتیب پارامترهای اون از راست به چپ، آدرسِ اینستراکشنِ بعد از call، رجیستر ebp فعلی و نهایتا متغیرهای لوکال اون فانکشن پوش میشن.
حالا اگه printf بخواد یه پارامتری که به تابع پاس داده نشده رو بخونه، میره و استکی که نباید رو میخونه.
اینکار خب خطرات زیادی داره
مثلا میتونه باعث لورفتن پارامترهای تابع یا بدتر از اون لورفتن stack canary value بشه که خب شدیدا خطریه
پس هیچ وقت ورودی کاربر رو مستقیم به printf ندین (هرچند الان خیلی بعیده کسی برای یه محصول جدی سی کد بزنه😬)
#binary
#reverse_engineering
توی باینری یه آسیبپذیری داریم به اسم format string که البته خود کامپایلر وارنینگ میده براش.
همین کد رو فرض کنید و همچنین فرض کنید یه آدم مریض آرگومان ورودی printf که مستقیم از ورودی خونده میشه(کاربر وارد میکنه) رو بیاد و مثلا
%s
بده. همونطور که میدونین printf به عنوان اولین پارامتر ورودی انتظار داره یه فرمت استرینگ بگیره
حالا اگه اتکر همونطور که گفتیم توی ورودی
%d
یا موارد این چنینی بده، کد به شکل زیر تبدیل میشه:
printf("%d");
تابع printf که فقط یه استرینگ فرمت ورودی داره، دنبال ورودی دوم(که اینجا یه اینتیجر هست) میگرده تا چاپش کنه ولی این پارامتر توی استک نیست و اینجاست که باعث میشه بتونیم محتوای استک رو بخونیم!
اگه فرض کنیم سیستم x86 باشه، موقع صدا زدن یه تابع، توی استک به ترتیب پارامترهای اون از راست به چپ، آدرسِ اینستراکشنِ بعد از call، رجیستر ebp فعلی و نهایتا متغیرهای لوکال اون فانکشن پوش میشن.
حالا اگه printf بخواد یه پارامتری که به تابع پاس داده نشده رو بخونه، میره و استکی که نباید رو میخونه.
اینکار خب خطرات زیادی داره
مثلا میتونه باعث لورفتن پارامترهای تابع یا بدتر از اون لورفتن stack canary value بشه که خب شدیدا خطریه
پس هیچ وقت ورودی کاربر رو مستقیم به printf ندین (هرچند الان خیلی بعیده کسی برای یه محصول جدی سی کد بزنه😬)
#binary
#reverse_engineering
Stuff for Geeks
درین مورد توی باینری یه آسیبپذیری داریم به اسم format string که البته خود کامپایلر وارنینگ میده براش. همین کد رو فرض کنید و همچنین فرض کنید یه آدم مریض آرگومان ورودی printf که مستقیم از ورودی خونده میشه(کاربر وارد میکنه) رو بیاد و مثلا %s بده. همونطور که…
Telegram
Stuffs for Geeks
دعوت از جامعهی IT مخصوصا متخصصان و مدرسان حوزهی امنیت و لینوکس برای داوری و بیان مشکلات کارم
امسال تجربهی جالبی در زمینهی تدریس یک دوره با شرکت SITS «زیرساخت امن خدمات تراکنشی بانک ملت» داشتم که سوالات و ابهامات زیادی برایم ایجاد کرد که باعث شد تصمیم…
امسال تجربهی جالبی در زمینهی تدریس یک دوره با شرکت SITS «زیرساخت امن خدمات تراکنشی بانک ملت» داشتم که سوالات و ابهامات زیادی برایم ایجاد کرد که باعث شد تصمیم…
یه چیز جالب که موقع بررسی کد اسمبلی دیدم اینه که شما فرض کنید یه کلاس A داریم که یه تابع داره به اسم func که هیچ پارامتر ورودیای نداره.
یه آبجکت ازین کلاس ساختیم به اسم obj_a و این تابع از کلاس رو با این آبجکت صدا میزنیم:
obj_a.func()
بنظرتون پارامتری به تابع پاس داده شده؟
جواب بله هست!
آدرس شیئ همیشه پاس داده میشه.
درواقع بیاین از دید سیپییو و اسمبلی به کد نگاه کنیم. توی اسمبلی که کلاس و شیئگرایی معنی نمیده. پس من چجوری باید فرق بین دوتا آبجکت رو بفهمم؟
خب این قسمتش سادست
همونطور که توی سی هم داشتیم، صرفا متغیرهای کلاس رو پشت سرهم(با احتمالا یه سری alignment ها) یه آبجکت میگیریم (توجه کنید که access midifier ها هم توی اسمبلی معنیای ندارن و فقط کامپایلره که وظیفهٔ هندل کردنشون رو داره).
پس اینجوری یه چیزی شبیه به مفهموم آبجکت داریم و هربار یه تابع از یه آبجکت رو کال میکنیم، آدرس خود آبجکت اولین پارامتر اون تابع میشه.
مشکل یکم سختتر با polymorphism پیش میاد. وقتی که شما یه آبجکت دارین که یه تابع رو override کرده چجوری میشه این رو توی اسمبلی جا داد؟
اینجاست که vtable ها بکار میان...
#reverse_engineering
#programming
یه آبجکت ازین کلاس ساختیم به اسم obj_a و این تابع از کلاس رو با این آبجکت صدا میزنیم:
obj_a.func()
بنظرتون پارامتری به تابع پاس داده شده؟
جواب بله هست!
آدرس شیئ همیشه پاس داده میشه.
درواقع بیاین از دید سیپییو و اسمبلی به کد نگاه کنیم. توی اسمبلی که کلاس و شیئگرایی معنی نمیده. پس من چجوری باید فرق بین دوتا آبجکت رو بفهمم؟
خب این قسمتش سادست
همونطور که توی سی هم داشتیم، صرفا متغیرهای کلاس رو پشت سرهم(با احتمالا یه سری alignment ها) یه آبجکت میگیریم (توجه کنید که access midifier ها هم توی اسمبلی معنیای ندارن و فقط کامپایلره که وظیفهٔ هندل کردنشون رو داره).
پس اینجوری یه چیزی شبیه به مفهموم آبجکت داریم و هربار یه تابع از یه آبجکت رو کال میکنیم، آدرس خود آبجکت اولین پارامتر اون تابع میشه.
مشکل یکم سختتر با polymorphism پیش میاد. وقتی که شما یه آبجکت دارین که یه تابع رو override کرده چجوری میشه این رو توی اسمبلی جا داد؟
اینجاست که vtable ها بکار میان...
#reverse_engineering
#programming
🔥2
برادر با چند esp32 یک آرایه فازی از آنتنها ساخته و سیگنال وایفای را مکانیابی مینماید:
https://youtu.be/sXwDrcd1t-E
https://youtu.be/sXwDrcd1t-E
YouTube
This ESP32 Antenna Array Can See WiFi
More information is available on the project website of the ESP32 antenna array "ESPARGOS": https://espargos.net/
Source code for Python library + demos: https://github.com/ESPARGOS/pyespargos (directory "demos/camera" for "WiFi camera" demo)
As a research…
Source code for Python library + demos: https://github.com/ESPARGOS/pyespargos (directory "demos/camera" for "WiFi camera" demo)
As a research…
👍1
Stuff for Geeks
درمورد الکترومغناطیس و موج پست بذارم؟
خب چون مشارکت کم بود و نسبتا تعداد نه ها هم زیاد بود چندتا امتحانی میذارم ببینم فیدبکا چجوریه
اول از همه باید با قانون گاوس آشنا بشیم
فرض کنین یه تعداد بار الکتریکی که مجموعا بار Q دارن، داشته باشیم (اگه یه حجم بار باشه باید انتگرال گرفته شه). جناب گاوس میگه که تحت این شرایط اگه بیایم و دور این بار یه سطح بسته(aka سطح گاوسی) درنظر بگیریم و مجموع ضرب داخلیِ میدانِ الکتریکیِ در نقاط این سطح در یک سطح دیفرانسیلی کوچیک رو حساب کنیم باید به Q/ε برسیم. برای ضرب داخلی باید دو بردار داشته باشیم. اولیش که میدان الکتریکیه که خب تو هر نقطه از فضا برداره و دومین بردار یه برداریه که اندازش مساحت اون سطح دیفرانسیلیه و جهتش رو به بیرون سطح گاوسیمونه.
شهود این انتگرال اگه میدان الکتریکی رو بدونیم، خیلی سخت نیست. فرض کنین یه منبع نقطهای از یه سیال(مثلا آب) تو فضا داشته باشیم. اگه یه سطح بسته دور این منبع بگیریم و مجموع آب خارج شده از این سطح رو حساب کنیم، کاری رو کردیم که انتگرال و درواقع قانون گاوس انجام میده.
ازونجایی که میدان الکتریکی رابطهٔ مستقیم با اندازهٔ بارمون داره(در یه فاصلهٔ ثابت از بار)، پس باید انتظار داشته باشیم که این انتگرال اگه رو سطح یه کره حساب بشه(خاصیت سطح کره اینه که فاصلهٔ یکسان و برابر از بارمون داره)، به یه ضریبی از Q برسیم که خب رسیدیم!
درواقع با فرض همین کره، میشه میدان یک بار رو در فاصلهٔ r ازش حساب کرد که همونطور که توی فیزیک یازدهم و فیزیک یک داشتیم میشه:
E = q/(4πε.r^2)
مخرج کسر بالا دقیقا مساحت کُرمونه که شعاعش r بوده!
#electromagnetics
فرض کنین یه تعداد بار الکتریکی که مجموعا بار Q دارن، داشته باشیم (اگه یه حجم بار باشه باید انتگرال گرفته شه). جناب گاوس میگه که تحت این شرایط اگه بیایم و دور این بار یه سطح بسته(aka سطح گاوسی) درنظر بگیریم و مجموع ضرب داخلیِ میدانِ الکتریکیِ در نقاط این سطح در یک سطح دیفرانسیلی کوچیک رو حساب کنیم باید به Q/ε برسیم. برای ضرب داخلی باید دو بردار داشته باشیم. اولیش که میدان الکتریکیه که خب تو هر نقطه از فضا برداره و دومین بردار یه برداریه که اندازش مساحت اون سطح دیفرانسیلیه و جهتش رو به بیرون سطح گاوسیمونه.
شهود این انتگرال اگه میدان الکتریکی رو بدونیم، خیلی سخت نیست. فرض کنین یه منبع نقطهای از یه سیال(مثلا آب) تو فضا داشته باشیم. اگه یه سطح بسته دور این منبع بگیریم و مجموع آب خارج شده از این سطح رو حساب کنیم، کاری رو کردیم که انتگرال و درواقع قانون گاوس انجام میده.
ازونجایی که میدان الکتریکی رابطهٔ مستقیم با اندازهٔ بارمون داره(در یه فاصلهٔ ثابت از بار)، پس باید انتظار داشته باشیم که این انتگرال اگه رو سطح یه کره حساب بشه(خاصیت سطح کره اینه که فاصلهٔ یکسان و برابر از بارمون داره)، به یه ضریبی از Q برسیم که خب رسیدیم!
درواقع با فرض همین کره، میشه میدان یک بار رو در فاصلهٔ r ازش حساب کرد که همونطور که توی فیزیک یازدهم و فیزیک یک داشتیم میشه:
E = q/(4πε.r^2)
مخرج کسر بالا دقیقا مساحت کُرمونه که شعاعش r بوده!
#electromagnetics
❤3👎1
کتاب سورسی که فک کنم همه دانشگاهها حداقل تو ایران از روش این مباحث تدریس میشه کتاب آقای چنگ هست:
David K.Cheng
Field and wave Electromagnetics
David K.Cheng
Field and wave Electromagnetics
لینوکس api و مموری
فرض کنید تو یه سیستم لینوکسی لازم داریم کل مموری سیستم یا مثلا مموری در دسترس و آزاد یا مموری مصرف شده رو توی یه برنامه(احتمالا c/c++) پیدا کنیم.
چه باید کرد؟
باید از هدر sys/sysinfo.h استفاده کنیم.
(کلا دایرکتوری مجازی
/sys
اینجور اطلاعات و اطلاعات سختافزارهای سیستم رو داره)
میتونین به man page این فایل مراجعه کنید ولی کلیتش اینه که یه تابع به اسم sysinfo و یه استراکچر به همین اسم توی این هدر تعریف میشن و خیلی ساده میتونین اطلاعات مموری رو پیدا کنین:
struct sysinfo info;
sysinfo(&info);
با این دو خط، اطلاعات توی متغیر info ذخیره میشن.
خوبه این استراکچر رو ببینیم:
حالا میتونین هر فیلدی رو خواستید بردارید و استفاده کنید. مثلا برای پیدا کردن سایز کل مموری(برحسب بایت):
cout<<info.totalram*info.mem_unit;
#programming
#linux
#system_programming
فرض کنید تو یه سیستم لینوکسی لازم داریم کل مموری سیستم یا مثلا مموری در دسترس و آزاد یا مموری مصرف شده رو توی یه برنامه(احتمالا c/c++) پیدا کنیم.
چه باید کرد؟
باید از هدر sys/sysinfo.h استفاده کنیم.
(کلا دایرکتوری مجازی
/sys
اینجور اطلاعات و اطلاعات سختافزارهای سیستم رو داره)
میتونین به man page این فایل مراجعه کنید ولی کلیتش اینه که یه تابع به اسم sysinfo و یه استراکچر به همین اسم توی این هدر تعریف میشن و خیلی ساده میتونین اطلاعات مموری رو پیدا کنین:
struct sysinfo info;
sysinfo(&info);
با این دو خط، اطلاعات توی متغیر info ذخیره میشن.
خوبه این استراکچر رو ببینیم:
struct sysinfo { long uptime; /* Seconds since boot */ unsigned long loads[3]; /* 1, 5, and 15 minute load averages */ unsigned long totalram; /* Total usable main memory size */ unsigned long freeram; /* Available memory size */ unsigned long sharedram; /* Amount of shared memory */ unsigned long bufferram; /* Memory used by buffers */ unsigned long totalswap; /* Total swap space size */ unsigned long freeswap; /* Swap space still available */ unsigned short procs; /* Number of current processes */ unsigned long totalhigh; /* Total high memory size */ unsigned long freehigh; /* Available high memory size */ unsigned int mem_unit; /* Memory unit size in bytes */ char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */ };حالا میتونین هر فیلدی رو خواستید بردارید و استفاده کنید. مثلا برای پیدا کردن سایز کل مموری(برحسب بایت):
cout<<info.totalram*info.mem_unit;
#programming
#linux
#system_programming
Forwarded from OnHex
🔴 یک گروه هکری بنام Codebreakers مدعی هک بانک سپه شد.
در تاریخ 14 مارس، 72 ساعت فرصت دادن تا بانک سپه با پرداخت 42 میلیون دلار، جلوی فروش داده ها رو بگیره. یکبار هم 20 مارس فرصت 72 ساعته دادن. در نهایت 24 مارس اعلام کردن که فرصت تموم شده و داده ها رو برای فروش در فرومهای مختلف میزارن.
کانال واتسآپ و پیج اینستاگرام و آدرس بیت کوین هم گذاشتن. همچنین گفتن که داده ها رو در مارکتهایی مانند AlphaBay و ... میزارن .
فعلا بانک سپه، واکنشی به این خبر نداشته.
#هک #سپه #ایران
🆔 @onhex_ir
➡️ ALL Link
بیش از 12 ترابایت داده شامل میلیاردها رکورد دیتا بیس اطلاعات مالی و هویتی و سکونتی 42 میلیون مشتری بانک سپه ایران از سال 1304 الی 1404 توسط این گروه هک و آماده برای فروش می باشد
🏴☠️حاوی اطاعات اشخاص عادی و نظامی
پرسنل ستاد کل نیروهای مسلح، سپاه پاسداران ، نیروی انتظامی، وزارت دفاع و پشتیبانی ، پرسنل ارتش ، نیروی مقاومت بسیج ، صندوق بازنشستگی نیروهای مسلح، پرسنل سازمان هوا و فضا، پرسنل سازمان انرژی اتمی به انضمام کلیه نهادها و شرکت های وابسته به هر سازمان
در تاریخ 14 مارس، 72 ساعت فرصت دادن تا بانک سپه با پرداخت 42 میلیون دلار، جلوی فروش داده ها رو بگیره. یکبار هم 20 مارس فرصت 72 ساعته دادن. در نهایت 24 مارس اعلام کردن که فرصت تموم شده و داده ها رو برای فروش در فرومهای مختلف میزارن.
کانال واتسآپ و پیج اینستاگرام و آدرس بیت کوین هم گذاشتن. همچنین گفتن که داده ها رو در مارکتهایی مانند AlphaBay و ... میزارن .
فعلا بانک سپه، واکنشی به این خبر نداشته.
#هک #سپه #ایران
🆔 @onhex_ir
➡️ ALL Link
Stuff for Geeks
اول از همه باید با قانون گاوس آشنا بشیم فرض کنین یه تعداد بار الکتریکی که مجموعا بار Q دارن، داشته باشیم (اگه یه حجم بار باشه باید انتگرال گرفته شه). جناب گاوس میگه که تحت این شرایط اگه بیایم و دور این بار یه سطح بسته(aka سطح گاوسی) درنظر بگیریم و مجموع ضرب…
خب این حقیقت فیزیک دو بود
توی الکترومغناطیس، این قانون گاوس رو توی یک حجم خیلی کوچیک مینویسن و این انتگرال تبدیل میشه به چیزی به اسم دیورژانس. یعنی با میل دادن اون حجم به صفر، به قانون نقطهای گاوس میرسیم:
∇.E = ρ
این رابطه میگه که چگالی بار توی یک نقطه، همون دیورژانس E در اون نقطست.
به طرز مشابه، قانون آمپر رو داریم که میدان مغناطیسی رو در فضا بر حسب جریان گذرنده از یک سطح میده. درواقع این قانون میگه اگه یه خم بسته در فضا در نظر بگیریم و جریان گذرنده از این خم I باشه، میدان مغناطیسی از رابطهای مشابه با قانون گاوس به شکل زیر محاسبه میشه:
∫ B.dl = μI
دقت کنید که توی قانون گاوس، مجموع میدان خارج شده از سطح یک کره رو میگرفتیم ولی اینجا جریان گذرنده از یک خم بسته رو داریم (سطح مقطع مثلا).
برای این قانون هم فرم نقطهای زیر با میل دادن دایره به صفر بدست میاد:
∇×B = J
"کرل میدان مغناطیسی برابر چگالی جریان است."
دوتا نکته رو اینجا توجه کنین. اول اینکه این پست و پست قبل شرایط الکترواستاتیک و مگنتواستاتیک هستن. یعنی یا فقط یک بار ثابت داریم که میدان الکتریکی ثابت داره یا یک جریان دائم که فقط میدان مغناطیسی تولید میکنه. در حالت کلی اینجوری نیست و قوانین گاوس و آمپر به قوانین ماکسول تبدیل میشن و یه مقدار تغییر میکنن.
نکته دوم اینکه برای شهود فرم انتگرالی خیلی بهتر از فرم نقطهای هست. پس خوبه که به اون بیشتر فک کنیم!
درنهایت همونطور که واضحه یک سری ریاضیات لازم داریم که اگه بلد نیستین، پلی لیست زیر خیلی خوبه:
https://youtube.com/playlist?list=PLHXZ9OQGMqxfW0GMqeUE1bLKaYor6kbHa
البته این پلی لیست حسابان چهار هست که باز حسابان دو و سه رو هم همین کانال داره.
در پست بعد راجع به پتانسیل و شرایط مرزی صحبت میکنیم
#electromagnetics
توی الکترومغناطیس، این قانون گاوس رو توی یک حجم خیلی کوچیک مینویسن و این انتگرال تبدیل میشه به چیزی به اسم دیورژانس. یعنی با میل دادن اون حجم به صفر، به قانون نقطهای گاوس میرسیم:
∇.E = ρ
این رابطه میگه که چگالی بار توی یک نقطه، همون دیورژانس E در اون نقطست.
به طرز مشابه، قانون آمپر رو داریم که میدان مغناطیسی رو در فضا بر حسب جریان گذرنده از یک سطح میده. درواقع این قانون میگه اگه یه خم بسته در فضا در نظر بگیریم و جریان گذرنده از این خم I باشه، میدان مغناطیسی از رابطهای مشابه با قانون گاوس به شکل زیر محاسبه میشه:
∫ B.dl = μI
دقت کنید که توی قانون گاوس، مجموع میدان خارج شده از سطح یک کره رو میگرفتیم ولی اینجا جریان گذرنده از یک خم بسته رو داریم (سطح مقطع مثلا).
برای این قانون هم فرم نقطهای زیر با میل دادن دایره به صفر بدست میاد:
∇×B = J
"کرل میدان مغناطیسی برابر چگالی جریان است."
دوتا نکته رو اینجا توجه کنین. اول اینکه این پست و پست قبل شرایط الکترواستاتیک و مگنتواستاتیک هستن. یعنی یا فقط یک بار ثابت داریم که میدان الکتریکی ثابت داره یا یک جریان دائم که فقط میدان مغناطیسی تولید میکنه. در حالت کلی اینجوری نیست و قوانین گاوس و آمپر به قوانین ماکسول تبدیل میشن و یه مقدار تغییر میکنن.
نکته دوم اینکه برای شهود فرم انتگرالی خیلی بهتر از فرم نقطهای هست. پس خوبه که به اون بیشتر فک کنیم!
درنهایت همونطور که واضحه یک سری ریاضیات لازم داریم که اگه بلد نیستین، پلی لیست زیر خیلی خوبه:
https://youtube.com/playlist?list=PLHXZ9OQGMqxfW0GMqeUE1bLKaYor6kbHa
البته این پلی لیست حسابان چهار هست که باز حسابان دو و سه رو هم همین کانال داره.
در پست بعد راجع به پتانسیل و شرایط مرزی صحبت میکنیم
#electromagnetics
❤1