پاورپوینت انواع حملات به وب سايت ها و نرم افزارهاي تحت وب (pptx) 19 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 19 اسلاید
قسمتی از متن PowerPoint (.pptx) :
1
انواع حملات به وب سايت ها و نرم افزارهاي تحت وب
بنام دانای توانا
مقدمه
سالها پیش زمانیکه صحبت از یک نرم افزار کاربردی در یک شبکه می شد ، به سراغ استفاده از نرم افزارهایی می رفتیم که قصد استفاده از آن سرویس را داشت
دارای
ای
ن
دو قسمت بود
:
یک قسمت بر روی
سرور نصب می شد و
قسمت دیگر بر روی
کامپیوتری نصب می شد ، با گذشت زمان و رواج یافتن نرم افزار های کاربردی تحت وب این تفکر رواج یافت که اینگونه نرم افزارهای تحت وب دارای امنیت و کاربرد ساده تری نسبت به
نرم افزاهای گذشته هستند و به شدت شروع به رشد کردند ، به گونه ای که امروزه اکثر نرم افزارهایی که برای شبکه نوشته می شود در قالب نرم افزارهای کاربردی تحت وب می باشد .
تحت وب بودن یک نرم افزار هم مزیت است و هم دارای عیب های زیادی می باشد،
مزیت
استفاده از این نرم افزارها این است که شما دیگر نیازی به استفاده از یک نرم افزار
Agent
برای متصل شدن به سرور اصلی خود ندارید و صرفا با وارد کردن آدرس
URL
سرور نرم افزار کاربردی تحت وب ، می توانید به آن وصل شده و از سرویس های آن استفاده کنید ، اما همین موضوع می تواند
نقطه ضعف
بزرگی برای اینگونه سیستم ها باشد ، یک هکر یا مهاجم نیز به همان سادگی که شما می توانید به نرم افزار خود متصل شوید می تواند به سیستم شما متصل شود ، در ساختار های قدیمی همین وجود
Agent
تا حدودی کار را برای هکرها سخت تر می کرد . یکی از مواردی که تحت وب بودن نرم افزارها خطر آفرین است این است که شما هر اندازه شبکه خود را امن کنید در نهایت به دلیل استفاده از نرم افزارهای تحت وب منتشر شده به بیرون از سازمان ، می توان به شبکه شما دسترسی و نفوذ کرد ، به شکل زیر دقت کنید .
2
Web Application Attacks
&
Zero Day
حملات نوع خاصی وجود دارند که به
Web Application Attacks
یا حملات به نرم افزارهای کاربردی مشهور هستند ، اینگونه حملات با توجه به گسترش روز افزون وب سایت ها و نرم افزارهای تحت وب بصورت فزاینده ای در حال زیاد شدن هستند
.
در بهترین شرایط ممکن اگر کسی بخواهد جلوی اینگونه حملات را بگیرد مدت زمانی طول می کشد که در همین زمان می توان از نقاط ضعف بوجود آمده استفاده کرده و به هدف حمله کرد . به نقاط ضعفی که هنوز شناسایی نشده اند و بروز رسانی امنیتی برای آنها ارائه نشده است در اصطلاح
Zero Day
گفته
می شود
.
در
zero-day
مدافع زمانی برای آماده شدن برای دفاع در مقابل حمله ندارد.
3
معروف ترین حملات
W
eb
A
pplication
C
ross
S
ite
S
cripting
(XSS)
SQL
I
njection
XML
I
njection
Command
I
njection
D
irectory
T
raversal
4
C
ross-
S
ite
S
cripting
یا
XSS
چیست ؟
مخفف کلمه
Cross-Site Scripting
بصورت
CSS
می باشد اما این مخفف به دلیل اینکه با ساختاری به نام
CSS
که در طراحی وب وجود دارد شباهت دارد به
XSS
تغییر داده شد
.
این نوع حمله که همانطور که از نامش پیداست از
ساختار اسکریپت نویسی
استفاده می کند ، به نرم افزارهای تحت وب از طریق اسکریپت نویسی حمله می کند .
هدف اصلی
این نوع حمله
بدست آودن اطلاعات از کاربران
و
کلاینت هایی
است که به سرور متصل می شود .
اکثر کدهایی که توسط هکر ها در نرم افزارهای تحت وب وارد می شود که در
سمت کلاینت
اجرا شود
و
معمولا به زبان
جاوا اسکریپت
نوشته می شود
.
5
C
ross-
S
ite
S
cripting
یا
XSS
همیشه در هر جا نامی از
Inject
کردن شنیدید ، به این معناست که
حمله از طریق وارد کردن اطلاعات
به درون
یک فیلد اطلاعاتی
انجام
می شود
.
XSS
که به نام
XSS Injection
نیز معروف است نیز از این مورد استثناء نیست ، در این نوع حمله هکر به دنبال فیلد های ورود اطلاعاتی می گردد که در وب سایت مورد نظر قرار دارد و در صورت عدم رعایت موارد امنیتی مناسب در وب سرور می تواند به آن وب سایت حمله کند. بیشتر اطلاعاتی که از طریق
XSS
بدست می آید از طریق
Cookie
هایی است که
کلاینت
بر روی
مرورگر
خود بر جای می گذار
د .
در صورتیکه برنامه نویس وب سایت شما در فیلد های ورودی اطلاعات خود اعتبارسنجی یا
Validation
را انجام ندهد ، آن وب سایت
مستعد بروز حملات
XSS
خواهد بود .
6
C
ross-
S
ite
S
cripting
یا
XSS
حملات
XSS
خود به دو دسته بندی تقسیم می شوند که به عنوان
انعکاس
و
ذخیره
شناخته می شوند
.
در حملات از نوع انعکاس
، هکر یک حفره امنیتی و راهی برای استفاده از آن پیدا می نماید تا کاربر ناشناس را به یک برنامه وب دارای آسیب پذیری
XSS
هدایت کند . در این هنگام حمله انجام شده است . این حمله به وسیله یک سری از پارامترهای
URL
که با
URL
ارسال می شوند، انجام می شود.
در حملات از نوع ذخیره ،
هکر کدهای مخربی را که یک کاربر در آینده آنها را فراخوانی می کند ذخیره می نماید. در واقع یک کاربر ندانسته به کدهای مخرب برخورد می نماید و کدهای مخرب اجرا می شوند. مسئله اینجاست که هنگام ذخیره سازی کدها و همچنین هنگام واکشی آنها اعتبارسنجی ورودی ها و خروجی ها انجام نشده است.
نکته حائز اهمیت این است که حتی درصورت اعتبارسنجی یا
Validation
کدها در هنگام ذخیره نمودن آنها،
چک نمودن خروجی ها و اعتبار سنجی آنها
نیز لازم است.
7
SQL Injection
یا تزریق
SQL
چیست ؟
همانطور که می دانید واژه
SQL
:
مخفف کلمه
S
tructured
Q
uery
L
anguage
می باشد که زبانی برای برقرار ارتباط با پایگاه های داده
می باشد ، این زبان می تواند برای انجام پرسش و پاسخ یا
Query
گرفتن از پایگاه های داده ای مانند
Ms SQL
یا
My SQL
یا
Oracle
یا هر پایگاه داده مشابهی مورد استفاده قرار بگیرد. همانطور که قبلا هم اشاره کردیم هرگاه نامی از
Injection
یا تزریق به گوشمان خورد بلافاصله باید به این فکر بیوفتیم که می توانیم دستورات تعریف نشده ای را به سمت سرور مقصد ارسال و پاسخ دلخواه خود را بدست بیاوریم.
ساختار کاری حملات
SQL Injection
به این صورت است
که هرگاه فیلد ورود و خروج اطلاعاتی وجود داشته باشد که در پس زمینه آن یک پایگاه داده باشد،
می توانیم با وارد کردن
دستورات غیرمعمول
زبان
SQL
در این فیلد ها پاسخ هایی از سرور مورد نظر دریافت کنیم که
حاوی اطلاعات حساس
می باشند.
8
S
QL
I
njection
یکی از فیلدهایی که در وب سایت ها بسیار مورد حملات
SQL Injection
قرار می گیرد ، فیلد
Forgot Password
یا فراموشی رمز عبور است. از این فیلد زمانی استفاده می شود که کاربر رمز عبور خود را فراموش کرده است و
می خواهد با وارد کردن ایمیل خود ، رمز عبور را بازیابی کند تا بتواند مجددا وارد وب سایت بشود.
SELECT fieldlist FROM table WHERE field =
‘whatever’ or ‘a’=‘a’
در این حالت و با وارد کردن دستور بالا توسط هکر ، کلیه ایمیل هایی که در پایگاه داده وجود دارد به نمایش در می آیند.
9
SQL Injection
شناسایی فیلدهای مختلف موجود در دیتابیس
whatever’ AND email IS NULL;
شناسایی نام جدول های دیتابیس
whatever’ AND 1=(SELECT COUNT(*) FROM tab name);
پیدا کردن کاربرانی با مشخصات تعیین شده
whatever’ OR full _ name LIKE ‘%itpro.ir%’
تمامی اطلاعات موجود در جدول حذف می شوند
whatever’; DROP TABLE members;
10