امنیتپایتون

دور زدن کلودفلر با پایتون و یافتن ای پی سرور

دور زدن cdnها با پایتون

ابزار بایپس CloudFlare با پایتون

CloudFlare یکی از برترین ارائه دهندگان سرویس CDN در جهان است. کلودفلر دارای سرویس های زیادی مانند پیشگیری از حملات DDOS یا DDoS Protection و فایروال است که عملکرد امنیتی یک سایت را به خوبی افزایش میدهد. در این مقاله از کالی بویز می خواهیم روش دور زدن کلودفلر را با استفاده از پایتون آموزش دهیم.

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

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

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

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

نصب کتابخانه های مورد نیاز

در این ابزار از کتابخانه های socket و sys استفاده شده است که sys به صورت پیشفرض نصب می شود و برای نصب سوکت میتوانید از دستور زیر استفاده کنید.

در مرحله اول وارد محیط command Prompt میشویم که برای این کار با زدن کلیدهای ترکیبی win + R وارد محیط RUN شده و درون آن با نوشتن CMD پنجره command Prompt اجرا می شود.

سپس دستور زیر را وارد می کنیم:

pip install socket

پس از نصب کتابخانه، برای فراخوانی آن از import استفاده میکنیم.

import socket
import sys

از کتابخانه socket برای نوشتن برنامه هایی که نیاز به ارتباط با شبکه دارند استفاده می شود. از کتابخانه sys هم برای اجرای دستورات سیستمی استفاده میشود.

نوشتن ابزار دور زدن کلودفلر

در این مرحله برای نوشتن کدهای اصلی از یک فانکشن (function) برای مدیریت برنامه و نوشتن کدهای خواناتر استفاده میکنیم.

دور زدن کلودفلر با پایتون و یافتن ای پی سرور
دور زدن کلودفلر با پایتون

در خط 4 فانکشنی با اسم CloudFlare را تعریف کردیم. سپس بلوک try را برای مدیریت خطاها ایجاد کردیم که کدهای اصلی را درون آن قرار می دهیم.

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

def CloudFlare():
    try:
        subdom = ['ftp', 'cpanel', 'shop', 'api','mysql', 'secure', 'server']

در خط بعد، از کاربر ورودی را دریافت میکنیم که همان آدرس وب سایت مورد نظر میباشد.

در خط 10 گفتیم که اگر کاربر در ورودی آدرسی وارد نکرد برایش Please Enter Address 🙂 را نمایش دهد و اگر ورودی به درستی وارد شود، برنامه را ادامه دهد.

    URL = input("Please Enter Target !!! ")
        if URL == "":
            try:
                print("Please Enter Address :)")
                sys.exit()
            except:
                return

در ادامه از حلقه for برای پیمایش محتوای درون لیست استفاده کردیم. سپس متغییری با نام http را تعریف کردیم که بعد از دریافت کلمات کلیدی از لیست، آن را به همراه یک نقطه (.) و بعد آن آدرس سایت قرار دهد (ftp.target.com یا cpanel.target.com). همچنین فقط مقادیری که وجود دارد را چاپ کند و اگر دامینی یافت نکرد از برنامه خارج شود.

در متغییر bypass از کتابخانه socket برای دریافت IP دامین استفاده میکنیم و در آخر خروجی را چاپ می کنیم. در شرط except با وارد کردن pass گفتیم که اگر به اروری برخورد کرد، رد کرده و نمایش ندهد.

        for sub in subdom:
            try:
                http = str(sub) + "." + str(URL)
                bypass = socket.gethostbyname(str(http))
                print(" [!] CloudFlare Bypass " + str(bypass) + ' | ' + str(http))
            except:
                pass

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

        try:
            input(" [*] Back To Menu (Press Enter...) ")
            except:
                print("")
                sys.exit()

در این خط except برای بستن بلوک try می باشد که در اول فانکشن تعریف کرده ایم و در آخر نیز برای اجرای برنامه باید فانکشن ()CloudFlare را فراخوانی کنیم.

    except:
        print("")
CloudFlare()

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

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

بیشتر بخوانید: آموزش بایپس فایروال(Firewall)

علی پازکی

علاقه مند به برنامه نویسی ، علم امنیت و همچنین مسائل علمی 😀 همیشه درحال یادگیری♾

یک دیدگاه

  1. سلام
    یه ویرایش کوچک بود میگم اگر میشه اصلاح کنید که کسی یه موقع گیج نشه
    در قطعه کدی که از input استفاده شده، خط except و دو خط بعد از آن indentation شان یک tab زیاد است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

دکمه بازگشت به بالا