استخدام Python لإجراء مكالمات API لتثبيت Acunetix الخاص بك

مدير عام29 يوليو 2020آخر تحديث :
استخدام Python لإجراء مكالمات API لتثبيت Acunetix الخاص بك

python banner

بالإضافة إلى العديد من عمليات الدمج الجاهزة ، يوفر Acunetix واجهة برمجة تطبيقات ، والتي تتيح لك دمج الماسح الضوئي مع أي بيئة. تتيح لك واجهة Acunetix API استخدام أي من وظائف الماسح الضوئي دون الحاجة إلى الوصول إلى واجهة مستخدم الماسح الضوئي. كمثال ، سنوضح لك كيفية إجراء مكالمات إلى Acunetix API باستخدام Python.
سنناقش خيارين لإجراء مكالمات API باستخدام Python:

  • الخيار 1: استخدام عميل Swagger لمكالمات API
  • الخيار 2: استخدام HTTP الأساسي لمكالمات API

لأغراض هذه المقالة ، سنفترض أيضًا أنك تعمل في بيئة Windows 64 بت.

المحتويات

الخيار 1: استخدام عميل Swagger لمكالمات API

بالنسبة لهذا الخيار ، سنقوم باتباع الخطوات اللازمة لإجراء مكالمتك الأولى في Acunetix API باستخدام Python و Swagger Client:

  1. قم بتثبيت Python
  2. قم بتثبيت JAVA JDK
  3. تثبيت Git
  4. قم بتثبيت Swagger Codegen
  5. إنشاء مكتبة Acunetix API لـ Python
  6. قم بإنشاء نص Python النصي لإجراء مكالمات API

يمكنك تخطي بعض الخطوات الأربع الأولى إذا كان البرنامج مثبتًا بالفعل.

قم بتثبيت Python

  1. قم بتنزيل مثبت Windows 64 بت القابل للتنفيذ لـ Python 3.8.4 من خلال النقر هنا أو الاستعراض بحثًا عن إصدار مختلف إذا كنت تفضل ذلك.
  2. قم بتثبيت Python بالنقر المزدوج على المثبت:
    • تأكد من تمكين أضف Python إلى PATH خانة الاختيار.
    • اضغط على تثبيت الآن زر.
    • اضغط على قريب زر عند انتهاء المثبت.

Acunetix API مع Python

قم بتثبيت JAVA JDK

  1. قم بتنزيل مثبت Windows 64 بت لـ JAVA SE JDK 8 بالضغط هنا.
  2. قم بتثبيت JAVA JDK بالنقر المزدوج فوق المثبت:
    • لا توجد خيارات تحتاج إلى تكوين في المثبت ، لذا يمكنك ببساطة قبول جميع الإعدادات الافتراضية ومتابعة التثبيت.
    • اضغط على قريب زر عند انتهاء المثبت.
  3. من موجه أوامر المسؤول ، قم بتشغيل الأمر التالي لتعيين JAVA_HOME متغيرات البيئة:
    setx JAVA_HOME -m "c:Program FilesJavajdk1.8.0_261"
    

تثبيت Git

  1. قم بتنزيل مثبت Windows 64 بت لـ Git 2.27.0 بالضغط هنا أو البحث عن إصدار مختلف.
  2. قم بتثبيت Git بالنقر المزدوج على المثبت:
    • لا توجد خيارات تحتاج إلى تكوين في المثبت ، لذا يمكنك ببساطة قبول جميع الإعدادات الافتراضية ومتابعة التثبيت.
    • اضغط على إنهاء زر عند انتهاء المثبت.

قم بتثبيت Swagger Codegen

  1. من موجه الأوامر العادي ، انتقل إلى المجلد الجذر ، واستنساخ اختيال الكود المستودع ، وانتقل إلى مجلد المستودع:
    cd c:
    git clone https://github.com/swagger-api/swagger-codegen.git
    cd c:swagger-codegen
    
  2. بناء اختيال الكود أدوات:
    • قم بتشغيل الأمر التالي من داخل المجلد:
      mvnw package
      
    • يجب أن تكون النتيجة مشابهة لما يلي عند اكتمالها بنجاح:
      [INFO] ------------------------------------------------------------------------
      [INFO] Reactor Summary:
      [INFO]
      [INFO] swagger-codegen-project ............................ SUCCESS [ 43.643 s]
      [INFO] swagger-codegen (core library) ..................... SUCCESS [03:28 min]
      [INFO] swagger-codegen (executable) ....................... SUCCESS [ 27.892 s]
      [INFO] swagger-codegen (maven-plugin) ..................... SUCCESS [ 56.018 s]
      [INFO] swagger-generator .................................. SUCCESS [02:43 min]
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESS
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 08:30 min
      [INFO] Finished at: 2020-07-17T16:06:07+01:00
      [INFO] Final Memory: 62M/629M
      [INFO] ------------------------------------------------------------------------
      

إنشاء مكتبة Acunetix API لـ Python

  1. يخترع الوخز بالإبر مجلد فرعي لـ اختيال الكود:
    md c:swagger-codegenacunetix
    cd c:swagger-codegenacunetix
    
  2. انسخ ال اختيال. yaml الملف الذي قدمه Acunetix في c: swagger-codegen acunetix مجلد.
  3. قم بإنشاء ملف دفعي باستخدام الأمر التالي:
    notepad c:swagger-codegenacunetixpy-ax.bat
    
  4. أدخل ما يلي في الخاص بك باي الفأس. bat ملف:
    set executable=.modulesswagger-codegen-clitargetswagger-codegen-cli.jar
    set params=generate -i acunetixswagger.yaml -l python -o acunetixpython -DpackageName=swagger_client
    java %JAVA_OPTS% -jar %executable% %params%
    
  5. قم بإنهاء برنامج “المفكرة” باي الفأس. bat ملف.
  6. قم بإنشاء المكتبة باستخدام الأوامر التالية:
    cd c:swagger-codegen
    acunetixpy-ax.bat
    

    سيؤدي هذا إلى إنشاء المكتبة في الداخل c: swagger-codegen acunetix python.

  7. قم بتثبيت المكتبة باستخدام الأوامر التالية:
    cd c:swagger-codegenacunetixpython
    pip install .
    

قم بإنشاء Python Script لإجراء مكالمات API

إنشاء نص Python الخاص بك

  1. قم بإنشاء ملف البرنامج النصي الجديد الخاص بك:
    notepad c:swagger-codegenacunetixapitest.py
    
  2. أدخل الأوامر التالية في apitest.py ملف:
    import swagger_client
    from swagger_client.rest import ApiException
    from pprint import pprint
    
    api_config = swagger_client.Configuration()
    api_config.ssl_ca_cert="C:ProgramDataAcunetixcertsca.cer"
    api_config.host="https://localhost:3443/api/v1"
    api_config.api_key['X-Auth'] = '1986abcd1986abcd1986abcd1986abcd1986abcd1986abcd1986abcd1986abcd'
    api_client = swagger_client.ApiClient(configuration=api_config)
    api_instance = swagger_client.TargetsApi(api_client=api_client)
    print(api_instance)
    try:
        # Targets
        # api_response = api_instance.get_targets(c=c, l=l, q=q, s=s)
        api_response = api_instance.get_targets()
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling TargetsApi->getTargets: %sn" % e)
    

    تذكر أنك تحتاج إلى استبدال مفتاح API بمفتاح تثبيت Acunetix الخاص بك.

  3. قم بتشغيل البرنامج النصي لاختبار API الخاص بك:
    cd c:swagger-codegenacunetix
    python apitest.py
    

عرض النتائج

بمجرد التنفيذ بنجاح ، ستشبه نتائج البرنامج النصي ما يلي:

c:swagger-codegenacunetix>apitest.py

{'pagination': {'count': 3,
                'cursor_hash': '8f629dd49f910b9202eb0da5d51fdb6e',
                'cursors': [None],
                'sort': None},
 'targets': [{'continuous_mode': False,
              'last_scan_date': datetime.date(2020, 7, 10),
              'last_scan_id': 'ec27a320-2351-4b27-b6dd-34313dff9c1f',
              'last_scan_session_id': 'bb3ad61a-2615-47ac-bcfb-4cb269521746',
              'last_scan_session_status': 'completed',
              'links': None,
              'manual_intervention': False,
              'scan_authorization': None,
              'severity_counts': None,
              'target_id': 'e7260534-cfb7-4d30-bc18-a2ed0b0eead8',
              'threat': None,
              'verification': None},
             {'continuous_mode': False,
              'last_scan_date': None,
              'last_scan_id': None,
              'last_scan_session_id': None,
              'last_scan_session_status': None,
              'links': None,
              'manual_intervention': None,
              'scan_authorization': None,
              'severity_counts': None,
              'target_id': '94c1fa22-8f0c-471e-9737-c199e57ad1fa',
              'threat': None,
              'verification': 'demo'},
             {'continuous_mode': False,
              'last_scan_date': None,
              'last_scan_id': None,
              'last_scan_session_id': None,
              'last_scan_session_status': None,
              'links': None,
              'manual_intervention': None,
              'scan_authorization': None,
              'severity_counts': None,
              'target_id': 'a67df446-dda1-4715-91f5-471add517fea',
              'threat': None,
              'verification': None}]}

c:swagger-codegenacunetix>

الخيار 2: استخدام HTTP الأساسي لمكالمات API

تثبيت بيثون

اتبع التعليمات لتثبيت Python كما هو موضح للخيار 1 أعلاه.

استخدم نص Python لإجراء مكالمات API

قم بتثبيت حزم Python Prerequisite

قم بتثبيت Python الطلبات صفقة:

python -m pip install requests

إنشاء نص Python الخاص بك

  1. قم بإنشاء ملف البرنامج النصي الجديد الخاص بك:
    md c:acunetixapi
    notepad c:acunetixapiapitest.py
    
  2. أدخل الأوامر التالية في apitest.py ملف:
    # importing libraries
    import json, requests, urllib3
    
    # api-endpoint 
    URL = "https://localhost:3443/api/v1/targets"
    
    # defining a params dict for the parameters to be sent to the API 
    #PARAMS = {'c':'', 'l':'', 's':''}
    PARAMS = {}
    
    #defining the headers to send
    headers = {'content-type': 'application/json', 'X-Auth':'1986abcd1986abcd1986abcd1986abcd1986abcd1986abcd1986abcd1986abcd'}
    
    #create connection pool
    pool = urllib3.PoolManager(cert_reqs="REQUIRED", assert_hostname="localhost",)
    
    #send request
    resp = pool.request('GET', URL, '', headers)
    
    #decode response
    data = json.loads(resp.data.decode('utf-8'))
    
    #dump decoded response
    print(data)
    

    تذكر أنك تحتاج إلى استبدال مفتاح API بمفتاح تثبيت Acunetix الخاص بك.

  3. قم بتشغيل البرنامج النصي لاختبار API الخاص بك:
    c:acunetixapiapitest.py
    

عرض النتائج

بمجرد التنفيذ بنجاح ، ستشبه نتائج البرنامج النصي ما يلي:

c:>acunetixapiapitest.py
{'targets': [{'address': 'https://mytesting.net', 'continuous_mode': False, 'criticality': 10, 'deleted_at': None, 'description': 'Test OAuth2 Site', 'last_scan_date': '2020-07-10T12:02:58.153112+00:00', 'last_scan_id': 'ec27a320-2351-4b27-b6dd-34313dff9c1f', 'last_scan_session_id': 'bb3ad61a-2615-47ac-bcfb-4cb269521746', 'last_scan_session_status': 'completed', 'manual_intervention': False, 'severity_counts': None, 'target_id': 'e7260534-cfb7-4d30-bc18-a2ed0b0eead8', 'threat': None, 'type': None, 'verification': None}, {'address': 'http://testphp.vulnweb.com', 'continuous_mode': False, 'criticality': 10, 'deleted_at': None, 'description': 'test2', 'last_scan_date': None, 'last_scan_id': None, 'last_scan_session_id': None, 'last_scan_session_status': None, 'manual_intervention': None, 'severity_counts': None, 'target_id': '94c1fa22-8f0c-471e-9737-c199e57ad1fa', 'threat': None, 'type': 'demo', 'verification': 'demo'}, {'address': 'https://mytesting.net', 'continuous_mode': False, 'criticality': 10, 'deleted_at': None, 'description': 'Testing LSR only', 'last_scan_date': None, 'last_scan_id': None, 'last_scan_session_id': None, 'last_scan_session_status': None, 'manual_intervention': None, 'severity_counts': None, 'target_id': 'a67df446-dda1-4715-91f5-471add517fea', 'threat': None, 'type': None, 'verification': None}], 'pagination': {'count': 3, 'cursor_hash': '8f629dd49f910b9202eb0da5d51fdb6e', 'cursors': [None], 'sort': None}}

c:>
المؤلف
kevin attard
كيفن عطار رفيق
كاتب تقني

Kevin Attard Compagno كاتب تقني يعمل في Acunetix. كان كيفن كاتبًا تقنيًا ومترجمًا وخبيرًا عامًا في مجال تكنولوجيا المعلومات لأكثر من 30 عامًا ، وقد اعتاد كيفن على إدارة فرق الدعم الفني وإنشاء وثائق تدريبية ومواد أخرى للموظفين التقنيين الداخليين.

اترك تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


شروط التعليق :

عدم الإساءة للكاتب أو للأشخاص أو للمقدسات أو مهاجمة الأديان أو الذات الالهية. والابتعاد عن التحريض الطائفي والعنصري والشتائم.

الاخبار العاجلة